数字图像处理实验报告学生姓名:学号:专业年级: 09级电子信息工程二班实验一常用MATLAB图像处理命令一、实验内容1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
实验结果如右图:代码如下:Subplot (1,3,1)i=imread('E:\数字图像处理\2.jpg')imshow(i)title('RGB')Subplot (1,3,2)j=rgb2gray(i)imshow(j)title('灰度')Subplot (1,3,3)k=im2bw(j,0.5)imshow(k)title('二值')2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
实验结果如右图:代码如下:Subplot (3,2,1)i=imread('E:\数字图像处理\16.jpg')x=imresize(i,[250,320])imshow(x)title('原图x')Subplot (3,2,2)j=imread(''E:\数字图像处理\17.jpg')y=imresize(j,[250,320])imshow(y)title('原图y')Subplot (3,2,3)z=imadd(x,y)imshow(z)title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果')Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果')Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果')3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。
实验结果如右图:代码如下:Subplot (2,2,1)i=imread('E:\数字图像处理\23.jpg')imshow(i)title('原图')Subplot (2,2,2)J = imadjust(i,[],[],3);imshow(J)title('变暗')Subplot (2,2,3)J = imadjust(i,[],[],0.4)imshow(J)title('变亮')Subplot (2,2,4)J=255-iImshow(J)title('变负')二、实验总结分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。
解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。
乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。
可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。
除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。
加法运算的一个重要应用是对同一场景的多幅图像求平均值减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。
实验二图像基本操作一、实验内容1.调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。
1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。
a=imread(‘F:\3.jpg’);%读取图片b=rgb2gray(a);%变为灰度图像[wid,hei]=size(b);%改变图片大小quartimg=zeros(wid/2+1,hei/2+1);i1=1;j1=1;for i=1:2:widfor j=1:2:heiquartimg(i1,j1)=b(i,j) ;j1=j1+1;endi1=i1+1;j1=1;endfigureimshow(uint8(quartimg)) %显示输出图像2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图Subplot (1,2,1);a=imread('E:\数字图像处理实验\数字图像处理\20.jpg');imshow(a);title('a');Subplot (1,2,2);b= imadjust(a,[],[],3);title('b')显示直方图程序:Subplot (1,2,1);imhist(a);title('a的直方图')Subplot (1,2,2);imhist(b);title('b的直方图')3、对图像b进行直方图均衡化,显示结果图像和对应直方图。
Subplot (1,2,1);j=histeq(b);imshow(j); title('b均衡化');Subplot (1,2,2);imhist(j); title('b均衡化后的直方图')均衡化的图像和直方图:4、读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。
[counts,x]=imhist(c) ;Subplot (2,2,1);imshow(a);title('图a');Subplot (2,2,2);c=imread('E:\数字图像处理\13.jpg');imshow(c);title('图c');Subplot (2,2,3);j=histeq(a,counts);imshow(j);Subplot (2,2,4);imhist(j)实验三图像变换一、实验内容1、对一幅图像进行缩小,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
i=imread('F:\数字图象处理\17.jpg');y=rgb2gray(i);subplot(2,2,1);imshow(y);title('原图')j=imresize(y,0.5);subplot(2,2,2);imshow(j);title('缩小图')m=fft2(y);subplot(2,2,3);imshow(abs(log(m)),[]);title('原图傅里叶变化')n=fft2(j);subplot(2,2,4);imshow(abs(log(n)),[]);title('缩小图傅里叶变化')2、对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
i=imread('F:\数字图象处理\17.jpg');j=rgb2gray(i);subplot(2,2,1);imshow(j);title('原图')m=imrotate(j,45,'bilinear');subplot(2,2,2);imshow(m);title('旋转图')p=fftshift(fft2(j));subplot(2,2,3);imshow(abs(log(p)),[]);title('原图傅里叶变化')q=fftshift(fft2(m));subplot(2,2,4);imshow(abs(log(q)),[]);title('旋转图傅里叶变化')实验四常用图像增强方法一、实验内容1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7subplot(2,2,1);a=imread('F:\数字图像处理\24.jpg');j=imnoise(a,'salt &pepper',0.04);imshow(j);title('椒盐噪声图像');subplot(2,2,2);I_Filter1=medfilt2(j,[33]);imshow(I_Filter1);title('3X3');subplot(2,2,3);I_Filter2=medfilt2(j,[55]);imshow(I_Filter2);title('5X5');subplot(2,2,4);I_Filter3=medfilt2(j,[77]);imshow(I_Filter3);title('7X7');2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波subplot(1,2,1);a=imread('F:\数字图像处理\24.jpg');j=imnoise(a,'salt & pepper',0.04);imshow(j);title('椒盐噪声图像');subplot(1,2,2);h=fspecial('average');m=filter2(h,j);imshow(m);title('均值滤波')3、采用三种不同算子对图像进行锐化处理。
subplot(1,4,1);i=imread('F:\数字图像处理\16.jpg');i1=rgb2gray(i);imshow(i1);title('原图像');subplot(1,4,2);h=fspecial('laplacian');i2=filter2(h,i1);imshow(i2);title('拉式算子');subplot(1,4,3)h=fspecial('prewitt');i3=filter2(h,i1);imshow(i3);title('prewitt算子')subplot(1,4,4)h=fspecial('sobel');i4=filter2(h,i1)imshow(i4);title('sobel算子')二、实验总结1、比较不同平滑滤波器的处理效果,分析其优缺点中值滤波比低通滤波消除噪声更有效。