图像处理电子科大作业_第1页
图像处理电子科大作业_第2页
图像处理电子科大作业_第3页
图像处理电子科大作业_第4页
图像处理电子科大作业_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一次作业(a)如果将低阶比特面设为零值,该图像会丢失细节。即不同灰度值的像素个数将减少,这会导致直方图的成分数减少。由于像素个数不会改变,这将在总体上导致直方图峰值高度上升。通常, 较低的灰度值变化将减少对比度。(b)如果将高阶比特面设为零值,该图像会丢失轮廓,即丢失视觉上的很多数据。最明显的影响 是使图像非常模糊,根据灰度变换函数,将0127之间的所有灰度映射为0,下降的最高位将限制到127的8位图像中最亮的水平。由于像素数将保持不变,一些直方图峰值的高度会增加。一般直方图的形状将更高更窄,过去127没有直方图组件。(a)如果这个象素块中的点都比背景亮 ,即对度大于背景,在nxn的中值滤波

2、器中,和背景的 象素一起排序时,因为它的面积小于一半,则可以肯定它们都比排在第 (n X n +1)/2的象素要亮,所 以没有机会被选中,都会被滤掉.对于暗的象素块,情况类似.(b)如果两个象素块足够接近,而且又同时都大于或者都小于背景的灰度,那么在进行中值滤波的时候,这些象素块中的点将会有机会被选为中值.在这种,f#况下,这些象素块将无法被滤掉,也就是不再被认为是单独的.我们假设象素块是正方形的,大小为nxn一半.它们的边长为sqrt(2)/2*n,离滤波器的最大边界距离1-sqrt(2)/2*n,所以这些块单独存在的条件是它们之间的距离大于1-sqrt(2)/2*n.滤波后的图像是否存在清

3、晰的间隔取决于象素间是否有明显的灰度差异.如下图所示,分别代表了三个尺度的滤波器的情况.其中每个尺度滤波器的上下两个方框表示了计算相邻象素点的灰度 时所用到的邻域.b中的滤波器所产生的图像之所以完全混在了一起,是因为它的滤波器的尺度恰好是原图像周期的整数倍.这意位着当所计算的象素向右边移动时,计算所涉及到的邻域把最左边的一列象素去掉了 ,而右边加入了一列新的象素.因为邻域的大小为周期的整数倍,所以左边所去掉的象素灰度值和右边所加入的灰度值是相等的,所以邻域内的灰度平均值没有变化,计算所得的灰度值也没有变化,整个部分混在了一起.而对于a和c来说,当所计算的象素向右移动时,邻域的 最左边去掉了一彳

4、T黑色的象素,右边加入了一行白色的象素,因此在这个时候,邻域内象素的平均值增大,计算所得的象素点变亮.从而产生了间隔的区域.课后编程:1绘制出一幅2Mx 2N的灰度图像直方图;对该图像进行均衡化处理, 绘制出均衡后图像的直方图;对该图像进行灰度变换,使变换后的图像 大致具有如下图所示的归一化直方图,并绘制出变换后实际的直方图: 代码:%;方图均衡化I = imread(C:);height,width = size(I);figuresubplot(221)imshow(I)%显示原始图像subplot(222)imhist(I)%显示原始图像直方图砥行像素灰度统计;NumPixel = ze

5、ros(1,256);%统计各灰度数目,共 256个灰度级for i = 1:height对应灰度值像素点数量增加一for j = 1: widthNumPixel(I(i,j) + 1) = NumPixel(I(i,j) + 1) + 1;%endend%十算灰度分布密度ProbPixel = zeros(1,256);for i = 1:256ProbPixel(i) = NumPixel(i) / (height * width * ;end%十算累计直方图分布CumuPixel = zeros(1,256);for i = 1:256if i = 1CumuPixel(i) = Pr

6、obPixel(i);elseCumuPixel(i) = CumuPixel(i - 1) + ProbPixel(i);endend嫖计分布取整CumuPixel = uint8(255 .* CumuPixel + ;%寸灰度值进行映射(均衡化)for i = 1:heightfor j = 1: widthI(i,j) = CumuPixel(I(i,j);endendsubplot(223)imshow(I)%显示原始图像subplot(224)imhist(I)%显示原始图像直方图截图:2分别在2幅灰度图像中加入一定量的高斯噪声和椒盐噪声,噪声强度自定。然后采用 3X3的均值滤波器

7、和3X3中值滤波器分别对噪声图像 进行处理,给出两种处理方法的峰值信噪比(PSNR)。代码:function z = PSNR(x,y)% calculate PSNR of imageM,N = size(x);dx = im2double(x);dy = im2double(y);err = dx - dy;MSE = sum(sum(err.A2) / (M * N);z = 10*log10(255A2 / MSE); end clc,clf,clear all;%mean square errorpic=imread(C:);data=rgb2gray(pic);P1=imnoise

8、(data,gaussian,;P2=imnoise(data,salt & pepper,; 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,3 3);k2=medfilt2(P1,3 3);k3=medfilt2(P2,3 3);r1=PSNR(data, k1);r2=PSNR(data, k2);r3=PSNR(data, k3);subplot(3,1,1);imsho

9、w(k1);title(原图);高斯加噪);椒盐加噪);原图中值滤波psnr: num2str(r1)高斯加噪中值滤波psnr: num2str(r2);椒盐加噪中值滤波psnr: num2str(r3);原图均值滤波psnr: num2str(r1);高斯加噪均值滤波psnr: num2str(r2);椒盐加噪均值滤波psnr: num2str(r3);subplot(3,1,2);imshow(k2);title(subplot(3,1,3);imshow(k3);title(figure;d1= filter2(fspecial(average,3),data)/255;d2= filt

10、er2(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(subplot(3,1,2);imshow(d2);title(subplot(3,1,3);imshow(d3);title(截图:clear;clc;Data=imread(C:UsersAdministratorDesktop);DataGray=rgb2gray(Data);

11、figure(1),imshow(Data);title(原始图像1);%*计算并画出此图像的中心化频率谱*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/m

12、ax(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)A2+(j-y_center)A2);ifdistancedflag=1;elseflag=0;endHF(i,j)=fl

13、ag*FFTcenter(i,j);endendHF=uint8(real(ifft2(ifftshift(HF);subplot(1,2,2),imshow(HF);title(高通滤波后图像1);%*用拉普拉斯算子对此图像锐化*Laplace=0-10;-14-1;0-10;LaplaceImage=conv2(Data1,Laplace,same);figure(4),subplot(1,2,1);imshow(uint8(LaplaceImage);title(Laplace图像1);DataLap=imadd(Data1,immultiply(LaplaceImage,1);%原图像

14、与拉普拉斯图像叠加subplot(1,2,2),imshow(uint8(DataLap);title(锐化增强后的图像1);第二次作业课后编程:对一幅灰度图像:(1)计算并画出此图像的中心化频率谱。(2)分别用高斯低通和高斯高通滤波器对图像进行频域处理。(3)用频域拉普拉斯算子对此图像进行锐化处理。代码:clear;clc;Data=imread(C:);DataGray=rgb2gray(Data);figure(1),imshow(Data);%*计算并画出此图像的中心化频率谱*Data1=double(DataGray);FFT2=fft2(Data1);FFTcenter=fftsh

15、ift(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(FFTcen

16、ter);x_center=round(m/2);y_center=round(n/2);d=10;%半径取10LF=FFTcenter;HF=FFTcenter;%*低通滤波器 *for i=1:m;for j=1:ndistance=sqrt(i-x_center)A2+(j-y_center)A2);if distancedflag=1;elseflag=0;endHF(i,j)=flag*FFTcenter(i,j);endendHF=uint8(real(ifft2(ifftshift(HF);subplot(1,2,2),imshow(HF);title(,高通滤波后图像,);%*

17、用拉普拉斯算子对此图像锐化*Laplace=0 -1 0;-1 4 -1; 0 -1 0 ;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(,锐化增强后的图像,);截图:第三次作业课后MATLAB程练习对一幅灰度图像f (x

18、,y):(1)对f(x,y)加高斯白噪声和椒盐噪声;(2)分别画出原图和加噪后的图像及其各自对应的直方图;用几何均值滤波分别对加高斯噪声和椒盐噪声图进行滤波处理,并进行比较;(4)用自适应中值滤波分别对加高斯噪声和椒盐噪声图进行滤波 处理;并进行比较。注:滤波窗口可根据需要自行设定。代码:1. gmea数(几何均值滤波):function f = gmean(g, m, n)% Implements a geometric mean filter.inclass = class(g);g = im2double(g);% Disable log(0) warningwarning off;f

19、= exp(imfilter(log(g), ones(m,n), ,replicate).A(1/m/n);warning on;f = changeclass(inclass, f);函数(自适应中值滤波函数):function f = RAMF(img)Im,In=size(img);nmin=3;nmax=9;Imf=img;I_ex=zeros(nmax-1)/2,In+(nmax-1);zeros(Im,(nmax-1)/2),img,zeros(Im,(nmax- 1)/2);zeros(nmax-1)/2,In+(nmax-1);for x=1:Imfor y=1:Infor

20、n=nmin:2:nmax% 图像Inoise中的某点(x,y)的领域Sxy,对应在I_ex中为(x+(nmax- 1)/2-(n-1)/2:x+(nmax-1)/2-(n-1)/2+(n-1),y+(nmax-1)/2-(n-1)/2:y+(nmax- 1)/2-(n-1)/2+(n-1)Sxy=I_ex(x+(nmax-1)/2-(n-1)/2:x+(nmax-1)/2+(n-1)/2,y+(nmax- 1)/2-(n-1)/2:y+(nmax-1)/2+(n-1)/2);Smax=max(max(Sxy);%求出窗口内像素的最大值Smin=min(min(Sxy);%求出窗口内像素的最小

21、值Smed=median(median(Sxy);%求出窗口内像素的中值%判断中值是否是噪声点if SmedSmin & SmedSmax%若中值既大于最小值又小于最大值,则不是%是,则退出该if语句,增大窗口尺寸,再次判断%不是,则判断该点的原值是不是噪声点if Imf(x,y)=Smax%若该点的原值既大于最小值又小于最大值,则不是%不是,则输出原值,即不作处理%是,则输出中值Imf(x,y)=Smed;endbreak%有输出则不再进行循环判断endend%当n=maXI寸,输出中值Imf(x,y)=Smed;endendf = Imf3.其他代码:I=imread(C:);figure

22、;subplot(2,3,1);imshow(I),title(原图);subplot(2,3,4)imhist(I),title(原图直方图)显示原始图像直方图%椒盐噪声J = imnoise(I,salt & pepper,;subplot(2,3,2);imshow(J),title(椒盐口声);subplot(2,3,5)imhist(J),title(椒盐直方图)显示椒盐图像直方图%高斯噪声G = imnoise(I,gaussian,;subplot(2,3,3);imshow(G);title(高斯噪声);subplot(2,3,6)imhist(G),title(高斯直方图)显

23、示高斯图像直方图figureI_1 = gmean(I,3,3); subplot(3,1,1) imshow(I_1);title( J_1 = gmean(J,3,3); subplot(3,1,2) imshow(J_1);title( G_1 = gmean(G,3,3); subplot(3,1,3) imshow(G_1);title( figureI_2 = RAMF(I); subplot(3,1,1) imshow(I_2);title( J_2 = RAMF(J); subplot(3,1,2) imshow(J_2);title( G_2 = RAMF(G); subpl

24、ot(3,1,3) imshow(G_2);title( 截图:原图几何滤波);椒盐几彳5滤波););原图自适应中值滤波)椒盐自适应中值滤波)第六章作业课后MATLA踹程练习(1)任意选才i一幅 RG影色图像,分别提取 R G B分量, 并分别显示各分量的灰度图像。(2)将上述图像转化为 HSI模型,分别显示 H S、I分量的 灰度图像。(3)任意读取一幅8bit红外灰度图像,对其进行伪彩色处理,结果应突出感兴趣区域。(2)代码:I=imread(C:);I = im2double(I);r = l(:,:,1);g = i(:,:,2);b = l(:,:,3);figure(1);subp

25、lot(221);imshow(l);title(原始图像);subplot(222);imshow(r);title(红色分量图像,);subplot(223);imshow(g);title(绿色分量图像,);subplot(224);imshow(b);title(蓝色分量图像,);num = *(r - g) + (r - b);den = sqrt(r - g).A2 + (r - b).*(g - b);theta = acos(num./(den + eps);H = theta;H(b g) = 2*pi - H(b g);H = H/(2*pi);num = min(min(

26、r, g), b);den = r + g + b;den(den = 0) = eps;S = 1 - 3.* num./den;H(S = 0) = 0;I = (r + g + b)/3;% Combine all three results into an hsi image.hsi = cat(3, H, S, I);figuresubplot(221);imshow(hsi);title(HSI 图像);subplot(222);imshow(H);title(H 分量图像);subplot(223);imshow(S);title(S分量图像);subplot(224);imsh

27、ow(I);title(I分量图像);程序运行结果:(3)代码:I=imread(c:);I=double(I);m,n=size(I);c=256;for i=1:mfor j=1:nif I(i,j)=c/4R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=c;else if I(i,j)=c/2R(i,j)=0;G(i,j)=c;B(i,j)=-4*I(i,j)+2*c;else if I(i,j) eAverageImage=filter2( fspecial(average,3),SourceImage);%AverageImage=medfilt2( SourceImage );%d e Dji euint8 averagelevel;average_level=( ( min(SourceImage(:)+max( SourceImage(:) )/2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论