数字图像处理五与模式识别作业.docVIP

  • 8
  • 0
  • 约6.35千字
  • 约 14页
  • 2019-01-02 发布于福建
  • 举报
数字图像处理五与模式识别作业

数字图像处理与模式识别作业 姓名: 学号: 专业:控制科学与工程 学院:自动化学院 作业一 用C语言或者VC,VB,Matlab或其他语言完 成如下实验: 1)打开一个BMP文件 2)将其局部区域的灰度值进行改变 3)另存为一个新的BMP文件 要求显示出原BMP图像和新BMP图像。 总结:读入一幅图像,首先如果是rgb图像,要转化为灰度图像。灰度图像有256个灰度等级。改变对应的数值,可以改变局部区域的灰度值。以下程序中实现了将一矩形区域全部变为白色。 Matlab源程序: clear all; f=imread(image1.bmp); f1=rgb2gray(f); %转换为灰度图 figure(1); imshow(f1); imwrite(f1,image1_gray.bmp); f1(100:150,100:120)=256; %局部改变灰度值 figure(2); imshow(f1); imwrite(f1,image1_gray_1.bmp); size(f1) whos f1 原始灰度图像: 局部改变灰度值的图像: 作业二 1.编程实现图像傅立叶高通、低通滤波。 2.尝试傅立叶压缩。 1.低通滤波MATLAB源程序: clear all; I=imread(image1_gray.bmp); figure(1); imshow(I); I=double(I); f=fft2(I); g=fftshift(f); [M,N]=size(g); n1=floor(M/2); n2=floor(N/2); d0=30; for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2); if d=d0 h1=1; else h1=0; end g1(i,j)=(h1+0)*g(i,j); end end g2=ifftshift(g1); g3=uint8(real(ifft2(g2))); figure(2);imshow(g3); title(低通滤波结果) 经低通滤波以后的图像: 2.高通滤波源程序: clear all; I=imread(image1_gray.bmp); figure(1); imshow(I); I=double(I); f=fft2(I); g=fftshift(f); [M,N]=size(g); n1=floor(M/2); n2=floor(N/2); d0=5; for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2); if d=d0 h1=1; else h1=0; end g1(i,j)=(h1+0.5)*g(i,j); end end g2=ifftshift(g1); g3=uint8(real(ifft2(g2))); figure(2);imshow(g3); title(高通滤波结果) 高通滤波结果: 总结:图像低通滤波使图像变的模糊,平滑。高通滤波能突出图像的边缘,是图像清晰。 作业三 1.打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法、K邻近平均法进行平滑。 1)首先加入椒盐噪声, 然后对其处理。 源程序: clear all; f=imread(image1.bmp); I=rgb2gray(f); %转为灰度图像 figure(1); imshow(I); title(原始图像) imwrite(I,image1_gray.bmp); P2=imnoise(I,salt pepper,0.02) %加入椒盐躁声 figure(2); imshow(P2); title(加入椒盐躁声) h1=medfilt2(P2) ; %对椒盐躁声中值滤波 figure(3); imshow(h1); title(对椒盐躁声中值滤波后) %邻域平均法 w1=fspecial(average); %产生一个3x3大小的方形平均滤波模板w1 h2=imfilter(P2,w1,replicate); % g1为处理后的图像。replicate指卷积填充边缘时用复制边界的值来扩展。

文档评论(0)

1亿VIP精品文档

相关文档