昆明理工大学-图形图像处理实验大报告-数字图像处理

课程名称:学 院:专业年级:学 号:学生姓名:指导教师:日 期:

课程报告

数字图像处理 信息工程与自动化学院 2012级 刘 辉 2015-6-18

一、实验要求

1、用Matlab语言完成如下实验:

1)打开一个BMP文件

2)将其局部区域的灰度值进行改变 3)另存为一个新的BMP文件

2、Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果。

3、找一幅曝光不足的灰度(或彩色)图像(MATLAB目录及上课课件中也有),用Matlab按照直方图均衡化的方法进行处理。 4、用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法进行平滑。

5、用Matlab打开一幅图像,用Roberts梯度法、Sobel算子和拉普拉斯算子进行锐化,并比较结果。 二、实验代码:

1、用Matlab语言完成如下实验

clc;

close all;

f1=imread('e:\\201210405210.bmp'); p=rgb2gray(f1); [m,n]=size(p);

f=p(50:300,50:300);

pic2=imadjust(f,[0.3 0.5],[0.6 0.8]); pic3=pic1;

pic3(50:300,50:300)=pic2;

subplot(1,2,1);imshow(p);title('原图')

subplot(1,2,2);imshow(pic3);title('灰度变换后')

2、Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果

傅里叶高通滤波:

clc;

close all;

I=imread('e:\\201210405210.bmp'); I=rgb2gray(I);

subplot(1,2,1);imshow(I);title('原图像'); s=fftshift(fft2(I)); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=10;

p=0.2;q=0.5; for i=1:a

for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=0; else h=1;

end;

s(i,j)=(p+q*h)*s(i,j); end; end;

s=uint8(real(ifft2(ifftshift(s))));

subplot(1,2,2);imshow(s);title('傅里叶高通滤波所得图像');

傅里叶低通滤波:

clc;

close all;

I=imread('e:\\201210405210.bmp'); I=rgb2gray(I);

subplot(1,2,1);imshow(I);title('原图像'); s=fftshift(fft2(I)); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=10;

for i=1:a

for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=1; else h=0; end;

s(i,j)=h*s(i,j); end; end;

s=uint8(real(ifft2(ifftshift(s))));

subplot(1,2,2);imshow(s);title('傅里叶低通滤波所得图像');

3、找一幅曝光不足的灰度(或彩色)图像(MATLAB目录及上课课件中也有),用Matlab按照直方图均衡化的方法进行处理。

close all;

clc;

i1=imread('e:\\201210405210.bmp'); i=rgb2gray(i1);

subplot(2,2,1);imshow(i);title('原图')

subplot(2,2,2);imhist(i);title('原图直方图') J=histeq(i,256);

subplot(2,2,3);imshow(J);title('均衡后图像')

subplot(2,2,4);imhist(J);title('均衡后图像直方图')

4、用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法进行平滑。

添加椒盐噪声,利用邻域平均法和中值滤波法:

clc;

close all;

I0=imread('e:\\201210405210.bmp'); I=rgb2gray(I0);

J=imnoise(I,'salt & pepper',0.02); K1=filter2(fspecial('average',7),J); subplot(2,2,1);imshow(I);title('原图');

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4