数字图像处理研究生期末作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2015年在职研究生专业期末考试试题(开卷)姓名:学号:一、自己拍摄的图像完成以下作业(用Matlab语言完成)1、打开一个BMP文件2、将其局部区域的灰度值进行改变3、另存为一个新的BMP文件原图像:zuoye1=imread('Hist1.bmp');[m,n]=size(zuoye1);f=zuoye1(50:200,500:1000);zuoye2=imadjust(f,[0.50.75],[01],5);zuoye=zuoye1;zuoye(50:200,500:1000)=zuoye2;imshow(zuoye1);figure,imshow(zuoye)新图像:4、Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果。高通滤波:I=imread('Hist1.bmp');F=rgb2gray(I);figure,imshow(I);title('原图像');F=fftshift(fft2(I));[f,h]=size(F);f0=round(f/2);h0=round(h/2);d=10;p=0.2;q=0.5;fori=1:fforj=1:hdistance=sqrt((i-f0)^2+(j-h0)^2);ifdistance=dH=0;elseH=1;end;F(i,j)=(p+q*H)*F(i,j);end;end;F=uint8(real(ifft2(ifftshift(F))));figure(2);imshow(F);title('高通滤波所得图像');低通滤波:I=imread('Hist1.bmp');F=rgb2gray(I);figure,imshow(I);title('原图像');F=fftshift(fft2(I));[f,h]=size(F);f0=round(f/2);h0=round(h/2);d=10;fori=1:fforj=1:hdistance=sqrt((i-f0)^2+(j-h0)^2);ifdistance=dH=1;elseH=0;end;F(i,j)=H*F(i,j);end;end;F=uint8(real(ifft2(ifftshift(F))));figure(2);imshow(F);title('低通滤波所得图像');5、找一幅曝光不足的灰度或彩色图像,用Matlab按照直方图均衡化的方法进行处理。HD=imread('DCL.BMP');imshow(HD)title('输入的彩色BMP图像')imwrite(rgb2gray(HD),'HDTX.bmp');HD=rgb2gray(HD);figure,imshow(HD)title('灰度化后的图像')[m,n]=size(HD);GP=zeros(1,256);fork=0:255GP(k+1)=length(find(HD==k))/(m*n);endfigure,bar(0:255,GP,'g')title('原图像直方图')xlabel('灰度值')ylabel('出现概率')S1=zeros(1,256);fori=1:256forj=1:iS1(i)=GP(j)+S1(i);endendS2=round(S1*256);fori=1:256GPeq(i)=sum(GP(find(S2==i)));endfigure,bar(0:255,GPeq,'b')title('均衡化后的直方图')xlabel('灰度值')ylabel('出现概率')figure,plot(0:255,S2,'r')legend('灰度变化曲线')xlabel('原图像灰度级')ylabel('均衡化后灰度级')PA=HD;fori=0:255PA(find(HD==i))=S2(i+1);endfigure,imshow(PA)title('均衡化后图像')imwrite(PA,'JHCLTX.bmp');6、用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法进行平滑。原图像:添加椒盐噪声:①邻域平均法处理I0=imread('Hist2.bmp');I=rgb2gray(I0);J=imnoise(I,'salt&pepper',0.02);figure,imshow(J);title('添加椒盐噪声后图像');K1=filter2(fspecial('average',7),J);K2=filter2(fspecial('average',9),J);figure,imshow(uint8(K1));title('邻域平均法处理后图像');②中值滤波法处理I0=imread('Hist2.bmp');I=rgb2gray(I0)J=imnoise(I,'salt&pepper',0.02);figure,imshow(J);title('添加椒盐噪声后图像');K=medfilt2(J,[77]);figure,imshow(K);title('中值滤波法处理后图像');添加高斯噪声:①邻域平均法处理I0=imread('Hist2.bmp');I=rgb2gray(I0);J=imnoise(I,'gaussian',0,0.02)figure,imshow(J);title('添加高斯噪声后图像');K=filter2(fspecial('average',7),J);figure,imshow(uint8(K));title('邻域平均法处理后图像');②中值滤波法处理I0=imread('Hist2.bmp');I=rgb2gray(I0)J=imnoise(I,'gaussian',0.02);figure,imshow(J);title('添加高斯噪声后图像');K=medfilt2(J,[77]);figure,imshow(K);title('中值滤波法处理后图像');7、用Matlab打开一幅图像,利用Roberts梯度法、Sobel算子和拉普拉斯算子进行锐化,并比较结果①Roberts梯度法I=imread('Hist2.bmp');[H,W]=size(I);M=double(I);J=M;fori=1:H-1forj=1:W-1J(i,j)=abs(M(i,j)-M(i+1,j+1))+abs(M(i+1,j)-M(i,j+1));end;end;figure;imshow(I);title('原图');figure;imshow(uint8(J));title('Roberts处理后');②Sobel算子I=imread('Hist2.bmp');[H,W]=size(I);M=double(I);J=M;fori=2:H-1forj=2:W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));end;end;figure;imshow(I);title('原图');figure;imshow(uint8(J));title('Sobel处理后');③拉普拉斯算子I=imread('Hist2.bmp');[H,W]=size(I);M=double(I);J=M;fori=2:H-1forj=2:W-1J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];end;end;figure;imshow(I);title('原图');figure;imshow(uint8(J));title('锐化处理后的图');由实验效果对比可以看出Sobel算子处理图像后使边缘有一定的模糊。拉普拉斯算子对图像中孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如Roberts梯度算子。二、用正弦图像场产生待测试的干涉场图像加入各类模拟噪声,进行模糊处理再消除噪声,然后采用边缘检测、图像增强技术要求判读条纹的间距,请给出图像处理的方案并说明每一步的作用及其对其它处理步骤可能产生的影响。待处理图像:处理方案:①进行模糊处理,消除噪声②边缘检测,进行图像增强处理③二值化图像,再进行边缘检测,能够得到很清晰的边界④采用横向标号法,根据值为1像素在标号中的相邻位置可以确定间距I=imread('GSTW.bmp');I=rgb2gray(I);figure,imshow(I);title('灰度化图像');I1=medfilt2(I);figure,imshow(I1);title('中值滤波后图像');[m,n]=size(I1);fori=1:mforj=1:nif(I1(i,j)100)I1(i,j)=255;elseI1(i,j)=0;endendendfigure,imshow(I1);title('二值化后图像');Y1=zeros(1,25);Y2=Y1;c=Y2;i=100;forj=1:272if(I1(i,j)==255&&I1(i,j+1)==0)Y1=j+1;endif(I1(i,j)==0&&I1(i,j+1)==255)Y2=j;endendfori=1:25c=Y2(i)-Y1(i)endc灰度化后图像:中值滤波后图像:二值化后图像:处理结果:c=9三、现有8个待编码的符号m0,……,m7,它们的概率分别为0.11,0.02,0.08,0.04,0.39,0.05,0.06,0.25,利用哈夫曼编码求出这一组符号的编码并画出哈夫曼树。m0=0.11,m1=0.02,m2=0.08,m3=0.04,m4=0.39,m5=0.05,m6=0.06,m7=0.25;1m40.391101m70.2510.6100001m00.1110.2200.3600010m20.0800.14100110m30.0400.06100111m10.02100000m60.0600.11000001m50.051四、(1)编写Matlab函数计算灰度图像的均方误差(MSE)、信噪比(SNR)、峰值信噪比(PSNR)、平均绝对误差(MAE);(2)编写函数对灰度图像经行降采样,直接消除像素以及消除像素前进行简单平滑滤波;(3)编写函数对图像进行放大,分别使用像素直接复制和双线性插值的方法:(4)编写函数用题目给出的量化步骤Q去量化灰度图像,并给出相应的MSE和直方图;(5)编写函数对灰度图像执行直方图均衡化,显示均衡前后的直方图。(1)计算灰度图像的均方误差、信噪比、峰值信噪比、平均绝对误差I=imread('Hist2.bmp');figure(1),imshow(I);title('原图像');A=rgb2gray(I);[mn]=size(A);B=imnoise(A,'gaussian',0,0.05);figure(2),imshow(B);title('高斯噪声污染后图像');a=double(A);b=double(B);sum=0;fori=1:mforj=1:nsum=sum+(a(i,j)-b(i,j))^2;endendMSE=(sum/(m*n))PSNR=10*log10((255^2)/MSE)sum1=0;fori=1:mforj=1:nsum1=sum1+a(i,j)^2;endendSNR=10*log10(sum1/MSE)sum2=0;fori=1:mforj=1:nsum2=sum2+a(i,j)+b(i,j);endendMAE=sum2/(m*n)原图像:该灰度图像的均方误差(MSE):MSE=2.5087e+003信噪比(SNR):SNR=64.5054峰值信噪比(PSNR):PSNR=14.1363平均绝对误差(MAE):MAE=314.6968(2)直接消除像素点X=i

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功