您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 图像处理_电子科大_作业
第一次作业3.5(a)如果将低阶比特面设为零值,该图像会丢失细节。即不同灰度值的像素个数将减少,这会导致直方图的成分数减少。由于像素个数不会改变,这将在总体上导致直方图峰值高度上升。通常,较低的灰度值变化将减少对比度。(b)如果将高阶比特面设为零值,该图像会丢失轮廓,即丢失视觉上的很多数据。最明显的影响是使图像非常模糊,根据灰度变换函数,将0~127之间的所有灰度映射为0,下降的最高位将限制到127的8位图像中最亮的水平。由于像素数将保持不变,一些直方图峰值的高度会增加。一般直方图的形状将更高更窄,过去127没有直方图组件。3.18(a)如果这个象素块中的点都比背景亮,即对度大于背景,在n×n的中值滤波器中,和背景的象素一起排序时,因为它的面积小于一半,则可以肯定它们都比排在第(n×n+1)/2的象素要亮,所以没有机会被选中,都会被滤掉.对于暗的象素块,情况类似.(b)如果两个象素块足够接近,而且又同时都大于或者都小于背景的灰度,那么在进行中值滤波的时候,这些象素块中的点将会有机会被选为中值.在这种情况下,这些象素块将无法被滤掉,也就是不再被认为是单独的.我们假设象素块是正方形的,大小为n×n一半.它们的边长为sqrt(2)/2*n,离滤波器的最大边界距离[1-sqrt(2)/2]*n,所以这些块单独存在的条件是它们之间的距离大于[1-sqrt(2)/2]*n.3.21滤波后的图像是否存在清晰的间隔取决于象素间是否有明显的灰度差异.如下图所示,分别代表了三个尺度的滤波器的情况.其中每个尺度滤波器的上下两个方框表示了计算相邻象素点的灰度时所用到的邻域.b中的滤波器所产生的图像之所以完全混在了一起,是因为它的滤波器的尺度恰好是原图像周期的整数倍.这意位着当所计算的象素向右边移动时,计算所涉及到的邻域把最左边的一列象素去掉了,而右边加入了一列新的象素.因为邻域的大小为周期的整数倍,所以左边所去掉的象素灰度值和右边所加入的灰度值是相等的,所以邻域内的灰度平均值没有变化,计算所得的灰度值也没有变化,整个部分混在了一起.而对于a和c来说,当所计算的象素向右移动时,邻域的最左边去掉了一行黑色的象素,右边加入了一行白色的象素,因此在这个时候,邻域内象素的平均值增大,计算所得的象素点变亮.从而产生了间隔的区域.课后编程:1绘制出一幅2M×2N的灰度图像直方图;对该图像进行均衡化处理,绘制出均衡后图像的直方图;对该图像进行灰度变换,使变换后的图像大致具有如下图所示的归一化直方图,并绘制出变换后实际的直方图:代码:%直方图均衡化I=imread('C:\girl.jpg');[height,width]=size(I);figuresubplot(221)imshow(I)%显示原始图像subplot(222)imhist(I)%显示原始图像直方图%进行像素灰度统计;NumPixel=zeros(1,256);%统计各灰度数目,共256个灰度级fori=1:heightforj=1:widthNumPixel(I(i,j)+1)=NumPixel(I(i,j)+1)+1;%对应灰度值像素点数量增加一endend%计算灰度分布密度ProbPixel=zeros(1,256);fori=1:256ProbPixel(i)=NumPixel(i)/(height*width*1.0);end%计算累计直方图分布CumuPixel=zeros(1,256);fori=1:256ifi==1CumuPixel(i)=ProbPixel(i);elseCumuPixel(i)=CumuPixel(i-1)+ProbPixel(i);endend%累计分布取整CumuPixel=uint8(255.*CumuPixel+0.5);%对灰度值进行映射(均衡化)fori=1:heightforj=1:widthI(i,j)=CumuPixel(I(i,j));endendsubplot(223)imshow(I)%显示原始图像subplot(224)imhist(I)%显示原始图像直方图截图:2分别在2幅灰度图像中加入一定量的高斯噪声和椒盐噪声,噪声强度自定。然后采用3×3的均值滤波器和3×3中值滤波器分别对噪声图像进行处理,给出两种处理方法的峰值信噪比(PSNR)。代码:functionz=PSNR(x,y)%calculatePSNRofimage[M,N]=size(x);dx=im2double(x);dy=im2double(y);err=dx-dy;MSE=sum(sum(err.^2))/(M*N);%meansquareerrorz=10*log10(255^2/MSE);endclc,clf,clearall;pic=imread('C:\image5.jpg');data=rgb2gray(pic);P1=imnoise(data,'gaussian',0.02);P2=imnoise(data,'salt&pepper',0.02);figure;subplot(3,1,1);imshow(data);title('原图');subplot(3,1,2);imshow(P1);title('高斯加噪');subplot(3,1,3);imshow(P2);title('椒盐加噪');figure;k1=medfilt2(data,[33]);k2=medfilt2(P1,[33]);k3=medfilt2(P2,[33]);r1=PSNR(data,k1);r2=PSNR(data,k2);r3=PSNR(data,k3);subplot(3,1,1);imshow(k1);title(['原图中值滤波''psnr:'num2str(r1)]);subplot(3,1,2);imshow(k2);title(['高斯加噪中值滤波''psnr:'num2str(r2)]);subplot(3,1,3);imshow(k3);title(['椒盐加噪中值滤波''psnr:'num2str(r3)]);figure;d1=filter2(fspecial('average',3),data)/255;d2=filter2(fspecial('average',3),P1)/255;d3=filter2(fspecial('average',3),P2)/255;r1=PSNR(data,d1);r2=PSNR(data,d2);r3=PSNR(data,d3);subplot(3,1,1);imshow(d1);title(['原图均值滤波''psnr:'num2str(r1)]);subplot(3,1,2);imshow(d2);title(['高斯加噪均值滤波''psnr:'num2str(r2)]);subplot(3,1,3);imshow(d3);title(['椒盐加噪均值滤波''psnr:'num2str(r3)]);截图:clear;clc;Data=imread('C:\Users\Administrator\Desktop\ex.JPG');DataGray=rgb2gray(Data);figure(1),imshow(Data);title('原始图像');%**************计算并画出此图像的中心化频率谱*************Data1=double(DataGray);FFT2=fft2(Data1);FFTcenter=fftshift(FFT2);%频谱中心化FFT2abs=abs(FFT2);FFTresult=256*log2(FFT2abs/max(max(FFT2abs))+1);figure(2),subplot(1,2,1);imshow(FFTresult),title('原图频谱');FFTc_abs=abs(FFTcenter);FFTc_result=256*log2(FFTc_abs/max(max(FFTc_abs))+1);subplot(1,2,2);imshow(FFTc_result),title('中心化频谱');%*******分别用低通滤波和高通滤波对此图像进行频域处理****[m,n]=size(FFTcenter);x_center=round(m/2);y_center=round(n/2);d=10;%半径取10LF=FFTcenter;HF=FFTcenter;%**************低通滤波器*************fori=1:m;forj=1:ndistance=sqrt((i-x_center)^2+(j-y_center)^2);ifdistance=dflag=1;elseflag=0;endLF(i,j)=flag*FFTcenter(i,j);endend%逆变换转换成对应图像LF=uint8(real(ifft2(ifftshift(LF))));figure(3),subplot(1,2,1);imshow(LF);title('低通滤波后图像');%**************高通滤波器*************fori=1:m;forj=1:ndistance=sqrt((i-x_center)^2+(j-y_center)^2);ifdistancedflag=1;elseflag=0;endHF(i,j)=flag*FFTcenter(i,j);endendHF=uint8(real(ifft2(ifftshift(HF))));subplot(1,2,2),imshow(HF);title('高通滤波后图像');%*****************用拉普拉斯算子对此图像锐化*************Laplace=[0-10;-14-1;0-10];LaplaceImage=conv2(Data1,Laplace,'same');figure(4),subplot(1,2,1);imshow(uint8(LaplaceImage));title('Laplace图像');DataLap=imadd(Data1,immultiply(LaplaceImage,1));%原图像与拉普拉斯图像叠加subplot(1,2,2),imshow(uint8(DataLap));title('锐化增强后的图像');第二次作业课后编程:对一幅灰度图像:(1)计算并画出此图像的中心化频率谱。(2)分别用高斯低通和高斯高通滤波器对图像进行频域处理。(3)用频域拉普拉斯算子对此图像进行锐化处理。代码:clear;clc;Data=imread('C:\Pdog.JPG');DataGray=rgb2gray(Data);figure(1),imshow(Data);title('原始图像');%**************计算并画出此图像的中心化频率谱*************Data1=double(DataGray);FFT2=fft2(Data1);FFTcenter=fftshift(FFT2);%频谱中心化FFT2abs=abs(FFT2);FFTresult=256*log2(FFT2abs/max(max(FFT2abs))+1);figure(2),subplot(1,2,1);imshow(FFTresult),title('原图频谱');FFTc_abs=abs(FFTcenter);FFTc_result=256*log2(FFTc_abs/max(max(FFTc_abs))+1);subplot(1,2,2);imshow(FFTc_result),title('中心化频谱');%*******分别用低通滤波和高通滤波对此图像进行频域处理****[m,n]=size(FFTcenter);x_center=round(m/2);y_center=round(n/2);d=10;%半径取10LF
本文标题:图像处理_电子科大_作业
链接地址:https://www.777doc.com/doc-5035433 .html