数字图像处理上机作业

合集下载

数字图像处理上机作业三.

数字图像处理上机作业三.

数字图像第三讲作业1.绘制一幅人像或风景图像的幅频图及相频图,并由幅频图及相频图重建空间域图像.(使用fft2,ifft2,fftshift函数)分析:fft2函数可以用来对图相求二维傅里叶变换,fft2作用后得到的只是很大的,要先对它除以图像的像素点个数m*n再进行幅频响应与相频响应的求解。

这是得到的频率响应是以(0,0)像素点为频率零点的,我们知道频率响应是关于原点对称的,因此在fft2后通过ifft2可将频率原点移至图像中心点,这样便于对频响的对称性进行观察。

abs函数得到幅频度,可经log调整为人眼敏感的范围,如:mag=log(1+50*abs(I2));相频响应可由angle函数获得。

最后通过fftshift函数可对频率响应进行空间域图像的重建。

代码及注释如下:function fuliye(x)I=imread(x);[m,n]=size(I);I1=fft2(single(I)); %fft2函数要求输入矩阵为single或double型I2=fftshift(I1/m/n);mag=log(1+50*abs(I2)); %abs函数得到幅度,经log调整为人眼敏感的范围phase=angle(I2); %angle函数得到相角imshow(mag);title('幅频图')figureimshow(phase);title('相频图')I3=uint8(ifft2(I1)); %ifft2进行二维傅里叶反变换figureimshow(I3);title('原图')figureI4=uint8(ifft2(abs(I1))); %仅对傅里叶变换的幅值进行反变换imshow(I4);title('由幅频信息还原图')figureI5=abs(ifft2(angle(I1))); %仅对傅里叶变换的相角进行反变换imshow(I5,[]);title('由相频信息还原图')运行:在命令窗口中输入fuliye(‘Lenna.bmp’)输出五幅图如下:幅频图:相频图:由幅频信息还原图:由相频信息还原图:由幅频和相频一起还原出原图:结论:由幅频图可以看出自然图像的频谱能量主要集中在低频附近;由仅从幅频或相频还原出的两张图可以看出,相频同样很重要。

数字图像处理上机作业

数字图像处理上机作业

数字图像处理上机作业数字图像处理上机实验题⼀、产⽣右图所⽰图像f1(m,n),其中图像⼤⼩为256×256,中间亮条为128×32,暗处=0,亮处=100。

对其进⾏FFT:1、屏显⽰原图f1(m,n)和FFT(f1)的幅度谱图;2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重复以上过程,⽐较⼆者幅度谱的异同,简述理由;3、若将f2(m,n)顺时针旋转90 度得到f3(m,n),试显⽰FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进⾏⽐较;4、若将f1(m,n) 顺时针旋转90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显⽰FFT(f5) 的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;5、若令f6(m,n)=f2(m,n)+f3(m,n),试显⽰FFT(f6)的幅度谱,并指出其与FFT(f 2)和FFT(f3) 的关系,⽐较FFT(f6)和FFT(f5)的幅度谱。

代码f1=zeros(256,256);for i =64:1:191for j = 112:1:143f1(i,j) = 100;endendf2 = fft2(f1);%f2(m,n) = f3f3 = ((-1)^(i+j))*f1;f4 = fft2(f3);%f3(m,n) = f5f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);%f4(m,n) = f7f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);%f5(m,n) = f8f9 = f1 + f7;f10 = fft2 (f9);%f6(m,n) = f2(m,n)+f3(m,n)f11 = f3 + f5;subplot(1,2,1);imshow(abs(f1));title('原图f1');subplot(1,2,2);imshow(abs(f2));title('幅度谱fft2(f1)');figure(2)subplot(2,2,1)imshow(abs(f1));title('原图f1')subplot(2,2,2)imshow(abs(f2));title('幅度谱fft2(f1)'); subplot(2,2,3); imshow(abs(f3))title('变换谱f2');subplot(2,2,4);imshow(abs(f4));title('幅度谱fft2(f2)'); figure(3) subplot(2,2,1)imshow(abs(f3))title('变换谱f2');subplot(2,2,2);imshow(abs(f4));title('幅度谱fft2(f2)'); subplot(2,2,3); imshow(abs(f5))title('变换谱f3');subplot(2,2,4);imshow(abs(f6));title('幅度谱fft2(f3)'); figure(4) subplot(3,2,1);imshow(f7);title('f1旋转图f4'); subplot(3,2,2); imshow(abs(f8));title('幅度谱fft2(f4)'); subplot(3,2,3);title('f5(m,n)=f1+f4'); subplot(3,2,4); imshow(abs(f10));title('幅度谱fft2(f5)'); subplot(3,2,5) imshow(abs(f1));title('原图f1');subplot(3,2,6);imshow(abs(f2));title('幅度谱fft2(f1)');figure(5)subplot(3,2,1)imshow(abs(f3))title('变换谱f2');subplot(3,2,2);imshow(abs(f4));title('幅度谱fft2(f2)'); subplot(3,2,3); imshow(abs(f5))title('变换谱f3');subplot(3,2,4);imshow(abs(f6));title('幅度谱fft2(f3)'); subplot(3,2,5) imshow(abs(f11))title('变换谱f6=f2+f3'); subplot(3,2,6); imshow(abs(f12));title('幅度谱fft2(f6)');figure(6)subplot(2,2,1);imshow(f9);title('f5(m,n)=f1+f4'); subplot(2,2,2); imshow(abs(f10));title('幅度谱fft2(f5)'); subplot(2,2,3) imshow(abs(f11))title('变换谱f6(m,n)=f2+f3'); subplot(2,2,4); imshow(abs(f12));title('幅度谱fft2(f6)');分析2、F2(m,n)与F1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改变幅值。

数字图像处理-作业题及部分答案解析

数字图像处理-作业题及部分答案解析

数字图像处理-作业题及部分答案解析1.数字图像与连续图像相比具有哪些优点?连续图像f(x,y与数字图像I(c,r中各量的含义是什么?它们有何联系和区别? (To be compared with an analog image, what are the advantages of a digital image? Let f(x,y be an analog image,I(r, c be a digital image, please give explanation and comparison for defined variables: f/I, x/r,and y/c2.图像处理可分为哪三个阶段? 它们是如何划分的?各有什么特点?(We can divide "imageprocessing"into 3 stages,what are they? how they are divided?What are their features?答:低级处理---低层操作,强调图像之间的变换,是一个从图像到图像的过程;中级处理---中层操作,主要对图像中感兴趣的目标进行检测和测量,从而建立对图像的描述,是一个从图像到数值或符号的过程;高级处理---高层操作,研究图像中各目标的性质和相互联系,得出对图像内容含义的理解以及对原来客观场景的解释;3.试从结构和功能等角度分析人类视觉中最基本的几个要素是什么?什么是马赫带效应? 什么是同时对比度?它们反映了什么共同问题? (According to the structure and function of the eyes,what are the basic elements in human vision? What is the Mach Band Effect? What is Simultaneous Contrast? What common facts can we infer from both Mach Band Effect and Simultaneous Contrast?答:人的视觉系统趋向于过高或过低估计不同亮度区域边界的现象称为“马赫带”效应;同时对比度指的是人的视觉系统对某个区域感觉到的亮度除了依赖于它本身的强度,还与背景有关.马赫带效应和同时对比度现象表明人所感觉到的亮度并不是强度的简单函数.4.比较说明像素邻域、连接、通路以及连通基本概念的联系与区别。

数字图像处理上机实验

数字图像处理上机实验

人民武装学院学生姓名:__________ 周云_____________ 学号:PB102027115专业: 电子信息科学与技术年级: 2010 级________________ 扌旨导老师:_____ 陈其松老师_________时间:2011 年12月24日第二章:一张纸,当放在桌子上时看上去似乎比较白,当用纸来遮蔽眼睛直视明亮的天空时, 来总是黑的>> colormap(gray);>> dark=zeros(256,256);>> dark(64:192,64:192)=0.5;>> subplot(1,3,1);imshow(dark)>> middle(1:256,1:256)=0.7;>> middle(64:192,64:192)=0.5;>> subplot(1,3,2);imshow(bright)>> subplot(1,3,2);imshow(middle)>> bright=o nes(256,256);>> bright(64:192,64:192)=0.5;>> subplot(1,3,3);imshow(bright)1.二值图像>> clear >> x=zeros(10,10);>> x(2:2:10,2:2:10)=1;>> imshow(x)>> x x =Colu mns 1 through 80 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 01 0 1 0 0 01 0 10 0 01 0 10 0 0111纸看起0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0111Colu mns 9 through 100 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 01□ d a «鸣札,#圧/l二值图像 2•亮度图像:>> X=imread('D:\le na.bmp'); >> imshow(X); >> Y=X(128:138,128:138); >> figure,imshow(Y); >> Y Y =Colu mns 1 through 8 194 183 173 160 145 127 113111 186 172 175 171 153 128 112110 185 178 173 162 145 128 117 114 188 181 168 150 136 128 123 118 192 176 162 145 133 128 125120 192 165 156 144 135 129 124 119 187 157 152 143 136 130 124118 181157 149 139 133 129 125 118 179159148135129129126 118172 153 142 130 127 129 129 168151143 135133133131Colu mns 9 through 11115 116 116 116 118 118 115 119 120 115 120120115 118 118 115 115 115 114 111 112 112 109 110 110 109 110 115 108 112 115113 115(b )获取的部分灰度图像 3•索引图像:>> RGB=imread('D:\flowers.tif); >> [X,m ap]=rgb2i nd(RGB,128); >>imshow(X,map) >> X(1)(a)原始图像122 123ans =127 >> X(2) ans =127>> map(127,:,:,:) ans =0.7647 0.61180.6549>> whos Name Size RGB 362x500x3 X 362x500 ans1x3map 128x34.RGB 图像:>> [X,map]=imread('D:\xia ngjiao.bmp'); >> Y=X(90:95,90:95); >> imshow(Y)>> R=X(90:95,90:95,1); >> G=X(90:95,90:95,2); >> B=X(90:95,90:95,3); >> R,G,B R =175 181 185 189 181 155 171176 185 188 175 146 171 173 182 186 176 161 171 176 184 186 181 178 170181 187 186 183 182 170180 180 181 183180175181185189181155Grand total is 724387 elements using 727096 bytes索引图像Bytes Class 543000 uin t8 array 181000 uint8 array24 double array 3072 double array171 176 185 188 175 146171 173 182 186 176 161171 176 184 186 181 178170 181 187 186 183 182170 180 180 181 183 180B =175 181 185 189 181 155171 176 185 188 175 146171 173 182 186 176 161171 176 184 186 181 178170 181 187 186 183 182170 180 180 181 183 180(a)(b)第三章例3.1把一幅图加上高斯噪声,再通过100次相加求平均的方法去除噪声l=imread('D:eight.tif);>> J=im noise(l,'gaussia n',0,0.02);>> subplot(1,2,1),imshow(l);>> subplot(1,2,2),imshow(J);>> K=zeros(242,308);>> for i=1:100J=imno ise(l,'gaussia n',0,0.02);J仁im2double(J);K=K+J1;end>> K=K/100;>> figure;imshow(K);(a)原图(b)加噪图(c)求平均后的图例3.3图像的乘法运算:I=imread('D:\m oon .tif);>> J=immultiply(l,1.2);>> K=immultiply(l,2);>> subplot(1,3,1),imshow(l);>> subplot(1,3,2),imshow(J);>> subplot(1,3,3),imshow(K);|>li I K.- fin .tara a Irili tawi分别为:原图、乘以 1.2、乘以2例3.4除法运算moon=imread('m oon .tif);>> I=double(m oon);>> J=l*0.43+90;>> K=I*0.1+90;>> L=l*0.01+90;>> moon2=uin t8(J);>> moo n3=ui nt8(K);>> moon4=uin t8(L);>> J=imdivide(m oon,moon 2);>> K=imdivide(m oon,moon 3);>>L=imdivide(m oon,moon 4);>> subplot(2,2,1),imshow(m oon);>> subplot(2,2,2),imshow(J,[]);>> subplot(2,2,3),imshow(K,[]);>> subplot(2,2,4),imshow(L,[]);分别为:原图、J=l*0.43+90、K=l*0.1+90、L=l*0.01+90例3.5逻辑运算:>> l=imread('D:\m oon .tif);>> A=zeros(128);>> A(40:67,60:100)=1;>> figure(1);>> imshow(A);>> B=zeros(128);>> B(50:80,40:70)=1;>> figure(2);>> imshow(B);>> C=a nd(A,B);>> figure(3);>> imshow(C);>> D=or(A,B);>> figure(4);>> imshow(D);>> E=not(A);>> figure(5);(a) A 图(b) B 图(c)A、B相与结果图(d)A、B相或结果图(c)A取反结果图例3.6实现把一副图像旋转60度,并分别采用把转出显示区域的图像截去和扩大显示区域范围以显示图像的全部两种方式>> l=imread('D:\9.jpg');>> J=imrotate(l,60,'bili nea。

(完整版)数字图像处理大作业

(完整版)数字图像处理大作业

数字图像处理1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么?①图像处理特点:输入是图像,输出也是图像,即图像之间进行的变换。

②图像分割特点:输入是图像,输出是数据。

③图像识别特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。

“输入是数据,输出是理解。

2.常用的颜色模型有哪些(列举三种以上)?并分别说明颜色模型各分量代表的意义。

①RGB(红、绿、蓝)模型②CMY(青、品红、黄)模型③HSI(色调、饱和度、亮度)模型3.什么是图像的采样?什么是图像的量化?1.采样采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。

简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。

一副图像就被采样成有限个像素点构成的集合。

例如:一副640*480分辨率的图像,表示这幅图像是由640*480=307200个像素点组成。

2.量化量化是指要使用多大范围的数值来表示图像采样之后的每一个点。

量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。

针对数字图像而言:采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。

量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。

数字图像处理(第三次课)调用图像格式转换函数实现彩色图像、灰度图像、二值图像、索引图像之间的转换。

图像的类型转换:对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的;2.用MATLAB完成灰度图像直方图统计代码设计。

6789101112131415161718192021222324252627282930title('lady-lenna');if isrgb(a);b=rgb2gray(a);%RGB转换为灰度图像endsubplot(2,2,2);imshow(b);%显示图像title('ladygaga-lenna');[m,n]=size(a);%返回图像大小e=zeros(1,256);for k=0:255for i=1:mfor j=1:nif a(i,j)==ke(k+1)=e(k+1)+1;%灰度值相同的进行累加endendendendsubplot(2,2,4);bar(e);%画图像的灰度直方图title('灰度直方图');c=imrotate(a,20);%图像的旋转subplot(2,2,3);imshow(c);数字图像处理(第四次课)编写matlab函数,实现在医学图像中数字减影血管造影。

数字图像处理上机实验三

数字图像处理上机实验三

医学图像处理实验三1、计算图像的梯度,梯度值和梯度角。

I=imread('C:\Users\Administrator\Desktop\cat.jpg'); B=rgb2gray(I);C=double(B);e=1e-6;%10^-6[dx,dy]=gradient(C);%计算梯度G=sqrt(dx.*dx+dy.*dy);%梯度幅值figure,imshow(uint8(G)),title('梯度图像');pha=atan(dy./(dx+e))figure,imshow(pha,[])图 1图 2 梯度角图2、计算图像边缘检测,用滤波器方式实现各种算子。

(1)Roberts算子clear;I=imread('C:\Users\admin\Desktop\mao.jpg');B=rgb2gray(I);[m,n]=size(B);nB=B;robertsnum=0;%经roberts算子计算得到的每一个像素的值robertsthreshold=0.6;%设定阈值for j=1:m-1;%进行边界提取for k=1:n-1robertsnum=abs(B(j,k)-B(j+1,k+1))+abs(B(j+1,k)-B(j,k+1)); if(robertsnum>robertsthreshold)nB(j,k)=255;elsenB(j,k)=0;endendendsubplot(1,2,1);imshow(B);title('原图');subplot(1,2,2);imshow(nB,[]);title('Robert算子处理后的图像');图 3(2)Sobel算子clear;I=imread('C:\Users\admin\Desktop\mao.jpg');B=rgb2gray(I);[m,n]=size(B);f=double(B);u=double(B);usobel=B;for i=2:m-1%sobel边缘检测for j=2:n-1;gx=(u(i+1,j-1)+2*u(i+1,j)+f(i+1,j+1)-(u(i-1,j-1)+2*u(i-1,j)+f(i-1,j+1)));gy=(u(i-1,j+1)+2*u(i,j+1)+f(i+1,j+1)-(u(i-1,j-1)+2*u(i,j-1)+f(i+1,j-1)));usobel(i,j)=sqrt(gx^2+gy^2);endendsubplot(1,2,1);imshow(B);title('原图');subplot(1,2,2);imshow(im2uint8(usobel));title('Sobel边缘检测后的图像');图 4(3)Prewitt算子clear;I=imread('C:\Users\admin\Desktop\mao.jpg');B=rgb2gray(I);[m,n]=size(B);nB=B;prewittnum=0;%经prewitt算子计算得到的每一个像素的值prewittthreshold=0.6;%设定阈值for j=2:m-1;%进行边界提取for k=2:n-1prewittnum=abs(B(j-1,k+1)-B(j+1,k+1))+B(j-1,k)-B(j+1,k)+B(j-1,k-1)-B(j+1,k-1)+abs(B(j-1,k +1)+B(j,k+1)+B(j+1,k+1)-B(j-1,k-1)-B(j,k-1)-B(j+1,k-1));if(prewittnum>prewittthreshold)nB(j,k)=255;elsenB(j,k)=0;endendendsubplot(1,2,1);imshow(B);title('原图');subplot(1,2,2);imshow(nB,[]);title('Prewitt算子处理后的图像');图 5(4)Laplace边缘检测function flapEdge=LaplaceEdge(pic,Moldtype,thresh)[m,n]=size(pic);flapEdge=zeros(m,n);%四邻域拉普拉斯边缘检测算子if 4==Moldtypefor i=2:m-1for j=2:n-1temp=-4*pic(i,j)+pic(i-1,j)+pic(i+1,j)+pic(i,j-1)+pic(i,j+1);if temp>threshflapEdge(i,j)=255;elseflapEdge(i,j)=0;endendendend%八邻域拉普拉斯边缘检测算子if 8==Moldtypefor i=2:m-1for j=2:n-1temp=-8*pic(i,j)+pic(i-1,j)+pic(i+1,j)+pic(i,j-1)+pic(i,j+1)+pic(i-1, j-1)+pic(i+1,j+1)+pic(i+1,j-1)+pic(i-1,j+1);if temp>threshflapEdge(i,j)=255;elseflapEdge(i,j)=0;endendendend主函数:clear;I=imread('C:\Users\admin\Desktop\mao.jpg');B=rgb2gray(I);C=double(B);t=60;Lapmodtype=8;%设置模板方式flapEdge=LaplaceEdge(C,Lapmodtype,t); fgrayLapedge=uint8(flapEdge);figure()imshow(fgrayLapedge),title('laplace边缘检测图像');图 6(4)Kirsch算子clearclcclose allI=imread('C:\Users\admin\Desktop\mao.jpg');B=rgb2gray(I);figure(1)imshow(B,[])title('原始图象')%对图象进行均值滤波bw2=filter2(fspecial('average',3),B);%对图象进行高斯滤波bw3=filter2(fspecial('gaussian'),bw2);%利用小波变换对图象进行降噪处理[thr,sorh,keepapp]=ddencmp('den','wv',bw3); %获得除噪的缺省参数bw4=wdencmp('gbl',bw3,'sym4',2,thr,sorh,keepapp);%图象进行降噪处理%---------------------------------------------------------------------%提取图象边缘t=3000; %设定阈值bw5=double(bw4);[m,n]=size(bw5);g=zeros(m,n);d=zeros(1,8);%利用Kirsch算子进行边缘提取for i=2:m-1for j=2:n-1d(1)=(5*bw5(i-1,j-1)+5*bw5(i-1,j)+5*bw5(i-1,j+1)-3*bw5(i,j-1)-3*bw5(i,j+1 )-3*bw5(i+1,j-1)-3*bw5(i+1,j)-3*bw5(i+1,j+1))^2;d(2)=((-3)*bw5(i-1,j-1)+5*bw5(i-1,j)+5*bw5(i-1,j+1)-3*bw5(i,j-1)+5*bw5(i, j+1)-3*bw5(i+1,j-1)-3*bw5(i+1,j)-3*bw5(i+1,j+1))^2;d(3)=((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)+5*bw5(i-1,j+1)-3*bw5(i,j-1)+5*bw5(i, j+1)-3*bw5(i+1,j-1)-3*bw5(i+1,j)+5*bw5(i+1,j+1))^2;d(4)=((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)-3*bw5(i-1,j+1)-3*bw5(i,j-1)+5*bw5(i, j+1)-3*bw5(i+1,j-1)+5*bw5(i+1,j)+5*bw5(i+1,j+1))^2;d(5)=((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)-3*bw5(i-1,j+1)-3*bw5(i,j-1)-3*bw5(i, j+1)+5*bw5(i+1,j-1)+5*bw5(i+1,j)+5*bw5(i+1,j+1))^2;d(6)=((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)-3*bw5(i-1,j+1)+5*bw5(i,j-1)-3*bw5(i, j+1)+5*bw5(i+1,j-1)+5*bw5(i+1,j)-3*bw5(i+1,j+1))^2;d(7)=(5*bw5(i-1,j-1)-3*bw5(i-1,j)-3*bw5(i-1,j+1)+5*bw5(i,j-1)-3*bw5(i,j+1 )+5*bw5(i+1,j-1)-3*bw5(i+1,j)-3*bw5(i+1,j+1))^2;d(8)=(5*bw5(i-1,j-1)+5*bw5(i-1,j)-3*bw5(i-1,j+1)+5*bw5(i,j-1)-3*bw5(i,j+1 )-3*bw5(i+1,j-1)-3*bw5(i+1,j)-3*bw5(i+1,j+1))^2;g(i,j) = max(d);endend%显示边缘提取后的图象for i=1:mfor j=1:nif g(i,j)>tbw5(i,j)=255;elsebw5(i,j)=0;endendendfigure(2)imshow(bw5,[])title('Kirsch ')图7(5)LoG和canny算子clear;I=imread('C:\Users\admin\Desktop\mao.jpg');B=rgb2gray(I);bw1=edge(B,'log',0.01);bw3=edge(B,'canny',0.1);figure;subplot(1,2,1);imshow(bw1,[]);title('loG边缘检测'); subplot(1,2,2);imshow(bw3,[]);title('canny边缘检测');图83、大津法实现图像分割clear;I=imread('C:\Users\admin\Desktop\cat.jpg');B=rgb2gray(I);T = graythresh(B);%求阈值BW = im2bw(B,T);%二值化imshow(BW,[])图9。

《数字图像处理》上机实验报告1

《数字图像处理》上机实验报告1

数字图像处理上机实验报告实验名称:图像的几何变换(象素空间关系)学期:2014/2015上学期班级:电子信息工程1102姓名:陈玮学号:3110209424实验时间:2014.09.29实验一:图像的几何变换(象素空间关系)1 目的①了解MATLAB的基本功能,掌握采用MA TLAB进行图像处理的方法;②了解图像象素空间关系;③掌握基本坐标变换,包括平移,缩放,旋转等;④了解形态变换,掌握特殊的形态变换,包括相似变换,刚体变换,等距变换等2 器材装有MATLAB的PC机一台3 原理双线性内差值法:1.数学原理已知的红色数据点与待插值得到的绿色点假如我们想得到未知函数f在点P= (x,y) 的值,假设我们已知函数f在Q11 = (x1,y1)、Q12 = (x1,y2),Q21 = (x2,y1) 以及Q22 = (x2,y2) 四个点的值。

首先在x方向进行线性插值,得到R1和R2,然后在y方向进行线性插值,得到P.这样就得到所要的结果f(x,y).其中红色点Q11,Q12,Q21,Q22为已知的4个像素点.第一步:X方向的线性插值,插入蓝色第二步:做完X方向的插值后再做Y方向的点R1和R2. 插值,由R1与R2计算P点.x方向上Y方向上插入绿色点P.线性插值的结果与插值的顺序无关。

首先进行y方向的插值,然后进行x方向的插值,所得到的结果是一样的。

但双线性插值插值方法这种方法并不是线性的,首先进行y方向的插值,然后进行x 方向的插值,与首先进行x方向的插值,然后进行y方向的插值,所得到的R1与R2是不一样的。

如果选择一个坐标系统使得的四个已知点坐标分别为(0, 0)、(0, 1)、(1, 0) 和(1, 1),那么插值公式就可以化简为f(x,y)=f(0,0)(1-x)(1-y)+f(0,1)(1-x)y+f(1,1)xy+f(1,0)x(1-y)在x与y方向上,z值成单调性特性的应用中,此种方法可以做外插运算,即可以求解Q1~Q4所构成的正方形以外的点的值。

数字图像处理上机实验(02091008)

数字图像处理上机实验(02091008)

数字图像处理上机作业数字图像处理上机作业1. 产生右图所示亮块图像 f1(x,y)(128×128大小,暗处=0,亮处=255),对其进行FFT:(1)同屏显示原图f1和FFT(f1)的幅度谱图;图像:(2)若令f2(x,y)=(-1)x+y f1(x,y),重复以上过程,比较二者幅度谱的异同,简述理由;(3)若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较。

结论:不同点:f2的频谱是对f1频谱的移位,它时f1的频谱从原点(0,0)移到了中心(64,64),而得到了一个完整的频谱。

相同点:频谱的实质没有改变,幅度等都没有发生变化。

(3)若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较。

源程序:f1=zeros(128,128);for i=38:1:90for j=58:1:70f1(i,j)=255;endendfigure(1)subplot(1,2,1);imshow (f1);subplot(1,2,2);imshow (fft2(f1));% f2(x,y)=(-1)^(x+y)* f1(x,y)for i=1:1:128for j=1:1:128f2(i,j)=(-1)^(i+j)*f1(i,j);endendfigure(2);subplot(1,3,1);imshow (f2);f3=imrotate(f2,-45,'bilinear');%将f2顺时针旋转45度subplot(1,3,2);imshow(fft2(f2));%显示f2的频谱subplot(1,3,3);imshow(fft2(f3));%显示f3的频谱结论:均衡化后的直方图并非完全均匀分布的原因:因为图像的像素个数和灰度等级均为离散值,而且均衡化后使灰度级并归。

图像处理上机实验

图像处理上机实验

1/ 11
3. 产生教材 104 页题图 4.16 所示的灰度图像(白为 255,黑为 0),分别加入高斯 白噪声和椒盐噪声,再分别进行 3*3 的平均滤波和中值滤波,显示原图像、加噪 图像和滤波结果图像,并比较四种滤波结果。 解答: 确定白色区域和黑色区域的坐标产生 256*256 图像,分别加入高斯白噪声 和椒盐噪声, 再分别进行 3*3 的平均滤波和中值滤波。 得到下图, 程序在附录。 对于高斯白噪声,使用平均滤波和中值滤波效果都不太好。平均滤波稍强。对于 椒盐噪声,中值滤波有很好的效果,而均值滤波效果较差。
数字图像处理上机实验题
1.产生右图所示图像 f1 (m, n), 其中图像大小为 256×256, 中间亮条为 128×32, 暗处=0,亮处=100。对其进行FFT: ① 同屏显示原图f1 (m, n)和 FFT(f1 )的幅度谱图; ② 若令f 2 (m, n) = (−1)m+n f1 (m, n),重复以上过程, 比较二者幅度谱的异同,简述理由; ③ 若将 f2 (m, n)顺时针旋转 90 度得到 f3 (m, n), 试显示 FFT(f3 )的幅度谱,并与 FFT(f2 )的幅度谱进行比较; ④ 若将f1 (m, n)顺时针旋转 90 度得到f4 (m, n),令f5 (m, n) = f1 (m, n) + f4 (m, n),试显示FFT(f5 )的幅度谱,并指出其与 FFT(f1 )和FFT(f4 )的关系; ⑤ 若令f6 (m, n) = f2 (m, n) + f3 (m, n),试显示FFT(f6 )的幅度谱, 并指出其 与 FFT(f2 )和FFT(f3 )的关系,比较FFT(f6 )和 FFT(f5 )的幅度谱。
4. 对某一灰度图像,进行如下处理: (1)分别利用 Roberts、Prewitt 和 Sobel 边缘检测算子进行边缘检测; (2)将 Roberts、Prewitt 和 Sobel 边缘检测算子修改为锐化算子,对原图 像进行锐化,同屏显示原图像、边缘检测结果和锐化后图像,说明三者 之间的关系。

数字图像处理上机作业二

数字图像处理上机作业二

数字图像第二讲作业1.设计一个程序,对一幅灰度图像实现直方图均衡化处理。

画出均衡化前后的图像及其直方图.分析:要实现对一幅灰度图直方图的均衡化处理,须经四步来完成。

首先,获得直方图,及各灰度值对应像素数占总像素数的比例,用矩阵c表示,这是第一次直方图作业的内容。

第二步对c求累加和,得到s矩阵。

第三步,对s进行合理的近似,得到均衡图中的灰度等级。

这里我的处理办法是对s执行s*255操作,得到的值再取uint8(),这样就实现了对s*255的合理近似,即四舍五入,从而得到了新的灰度等级d。

第四步,赋予各像素点新的灰度值,计算出不同灰度等级对应的比例值Ps(sk),这里我用:for j=1:256p(d(j)+1)=p(d(j)+1)+c(j);I2(find(I==j))=d(j);end来求得Ps(sk),循环的作用是将灰度等级d(j)相同的各j对应的原灰度值比例c 累加起来。

I2(find(I==j))=d(j)是将灰度值为j的像素点的灰度值换为d(j);p(d(j)+1)中加1的作用是避免出现p(0)而进行的处理。

代码及注释如下:function junheng(x) % x为要分析的图像名加单引号I=imread(x);b=size(I);a=zeros(1,256); %a为一个1*256的矩阵分别记录灰度为0到255的像素的个数for m=1:b(1) %两个for语句将整张图的所有像素都扫描一遍for n=1:b(2)a(I(m,n)+1)= a(I(m,n)+1)+1; %将灰度为I(m,n)的像素个数存储在%a(I(m,n)+1)中,因为matlab里没有a(0)endendn=0:255;c=a/sum(a); %c为个灰度像素数占总像素数的比例subplot(2,2,1);bar(n,c);title('直方图Pr(rk)'); %画出直方图s=zeros(1,256);s(1)=c(1);for k=2:256s(k)=s(k-1)+c(k);end %s为Pr(rk)的累加和subplot(2,2,2);bar(n,s);title('sk'); %画出sk的图形d=uint8(s*255); %d是对s的合理近似值,即四舍五入p=zeros(1,256);I2=I*0;for j=1:256p(d(j)+1)=p(d(j)+1)+c(j);I2(find(I==j))=d(j);end %以d为灰度值,计算相同d值对应的c值的累加和f imwrite(I2,'junheng.bmp');subplot(2,2,3);bar(n,p);title('均衡化直方图Ps(sk)') %画出均衡化直方图figure;bar(n,c);title('直方图Pr(rk)'); %单独显示直方图figure;bar(n,p);title('均衡化直方图Ps(sk)') %单独显示均衡后直方图figure;subplot(1,2,1);imshow(x);title('原图'); %显示原图subplot(1,2,2);imshow('junheng.bmp');title('均衡后图');%显示均衡化之后图形运行:在命令窗口中输入junheng(‘Lenna.bmp’),输出如下四幅图:这幅图体现了整个程序设计的思路,先由直方图Pr(rk)到累加和的sk图形,最后到均衡图Ps(sk).这两幅图是单独显示的原直方图和均衡化后的直方图。

最新数字图像处理第二版上机作业答案

最新数字图像处理第二版上机作业答案

1.创建命令文件creatmatrix.m,实现以下功能:(1)建立一个A矩阵,大小为8×10,该矩阵为符合正态分布的随机矩阵;建立一个B矩阵,大小和A矩阵一样,是一个全1矩阵。

(2)将(1)中生成的A、B矩阵存储在junzhen.mat中。

A=randn(8,10) eye 生成单位矩阵ones全1阵zeros 全零阵B=ones(8,10)rand 均匀随机阵randn 正态随机阵2.创建命令文件imagep.m,实现以下功能:(1)读入cameraman.tif图像文件,查询其文件信息;(2)将该图像数据保存在矩阵I中;(3)显示原始图像,保存为cameraman1.jpg;(4)新建图形窗口,显示16个灰度等级下的图像,保存为cameraman2.bmp;(5)新建图形窗口,显示灰度范围在20到100之间的图像,保存为cameraman3.jpg;I=imread('cameraman.tif');imshow (I);figure,imshow(I,16);figure,imshow(I,[20, 100]);3创建命令文件process.m,实现以下功能:(1)读入football.jpg彩色图像文件,将该图像转换为灰度图像I;(2)设置阈值0.6,将灰度图像I转换为二值图像J1;(3)将图形窗口划分为一行三列,第一个子窗口显示I,第二个子窗口显示J1。

将该图形保存为process.jpgRGB=imread('football.jpg');I=rgb2gray(RGB);J1=im2bw(I,0.6);subplot(1,2,1); imshow(I);subplot(1,2,2); imshow(J1);4创建命令文件process1.m,实现以下功能:读入图像fabric.png彩色图像文件,转换为灰度图像A;将A图像的灰度缩小0.6倍,存入图像矩阵B中;将A图像的灰度放大 1.2倍,存入图像矩阵C中;将图形窗口划分为三行一列,第一个子窗口显示A,第二个子窗口显示B,第三个子窗口显示C。

《数字图像处理》上机实验报告2

《数字图像处理》上机实验报告2

数字图像处理上机实验报告实验名称:图像增强学期:2014/2015上学期班级:电子信息工程1102姓名:**学号:**********实验时间:2014.11.03实验二:图像增强1 目的1.了解图像空域增强或频域增强的基本原理及二者的区别.2.掌握基于模板的空域增强技术、直方图变换空域增强技术:用模板实现图像的平滑和锐化.3.掌握频域滤波的基本原理,包括:低通、高通、带通、带阻和同态滤波,要求实现其中一种的滤波4.了解伪彩色图像增强的原理和方法2 器材1.BMP格式灰度图像2.MAtlab软件3.台式PC机3 原理图像增强分为空域增强和频域增强,空域增强有灰度变换增强,直方图变换增强,平滑增强,中值滤波,模板滤波和高能滤波等。

r(x,y)是输入图像,s(x,y)是输出图像T(.)是对图像的运算如果求某个s(x0, y0) ,只需位置(x0, y0)的像素值,则称此处理为点操作,也称灰度变换如果需要位置(x0, y0)及其邻域的像素值,则称为模板操作图像增强:改善图像质量,使图像更适合观察的图像处理技术突出更多细节;对比度更合适;边缘增强;去除噪声增强的标准带有主观性;没有完全通用的标准和技术;取决于图像希望达到的特定效果一、灰度变换强度当我们为了突出不同灰度的区间,或者要减弱某部分灰度,就可以使用灰度变换,下面我使用分段线性变换对灰度进行处理。

灰度线性变换设f(x,y)是原图像的灰度值,(x,y)是变换后的灰度值,下图就是对不同区间的线性变换,灰度变换与变量x,y没有关系,这里只关系f,g函数值也就是灰度值的变换,下面就是线性变换的公式其实,可以得出曲线只要是在y=x下的就是减弱的,因为灰度比原来的减小了。

二、直方图变换增强直方图均衡化是使原直方图变换为具有均匀密度分布的直方图,然后按该直方图调整原图像的一种图像处理技术。

直方图均衡化通常用来增加许多图像的全局对比度,均衡化的标准就是以空域面积(像素总数)这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。

数字图像处理第二版上机作业答案

数字图像处理第二版上机作业答案

1.创建命令文件creatmatrix.m,实现以下功能:(1)建立一个A矩阵,大小为8×10,该矩阵为符合正态分布的随机矩阵;建立一个B矩阵,大小和A矩阵一样,是一个全1矩阵。

(2)将(1)中生成的A、B矩阵存储在junzhen.mat中。

A=randn(8,10) eye 生成单位矩阵ones全1阵zeros 全零阵B=ones(8,10)rand 均匀随机阵randn 正态随机阵2.创建命令文件imagep.m,实现以下功能:(1)读入cameraman.tif图像文件,查询其文件信息;(2)将该图像数据保存在矩阵I中;(3)显示原始图像,保存为cameraman1.jpg;(4)新建图形窗口,显示16个灰度等级下的图像,保存为cameraman2.bmp;(5)新建图形窗口,显示灰度范围在20到100之间的图像,保存为cameraman3.jpg;I=imread('cameraman.tif');imshow (I);figure,imshow(I,16);figure,imshow(I,[20, 100]);3创建命令文件process.m,实现以下功能:(1)读入football.jpg彩色图像文件,将该图像转换为灰度图像I;(2)设置阈值0.6,将灰度图像I转换为二值图像J1;(3)将图形窗口划分为一行三列,第一个子窗口显示I,第二个子窗口显示J1。

将该图形保存为process.jpgRGB=imread('football.jpg');I=rgb2gray(RGB);J1=im2bw(I,0.6);subplot(1,2,1); imshow(I);subplot(1,2,2); imshow(J1);4创建命令文件process1.m,实现以下功能:读入图像fabric.png彩色图像文件,转换为灰度图像A;将A图像的灰度缩小0.6倍,存入图像矩阵B中;将A图像的灰度放大1.2倍,存入图像矩阵C中;将图形窗口划分为三行一列,第一个子窗口显示A,第二个子窗口显示B,第三个子窗口显示C。

数字图像处理上机作业一.

数字图像处理上机作业一.

数字图像处理上机作业一1.设计一个程序,绘制出一幅灰度图象的直方图。

Solution:代码及代码的说明:%作用:返回灰度矩阵a,并画出直方图function a=zhifangtu(x) % x为要分析的图像名加单引号I=imread(x);b=size(I);a=zeros(1,256); % a为一个1*256的矩阵分别记录灰度为0到255的像%的个数for m=1:b(1) %两个for语句将整张图的所有像素都扫描一遍for n=1:b(2)a(I(m,n)+1)= a(I(m,n)+1)+1; %将灰度为I(m,n)的像素个数存储在%a(I(m,n)+1)中,因为matlab里没有%a(0)endendn=0:255;bar(n,a);%画出直方图s=sum(a) %查看直方图的总的面积等于这张图的总像素值实验结果及分析:在命令窗口中输入zhifangtu('Lenna.bmp')返回s =262144,以及灰度矩阵a,同时有如下直方图输出:分析及结论:在命令窗口中用size命令可查知Lenna.bmp是512*512的,返回的s =262144恰等于512*512,说明所编的直方图的程序恰将所有的像素点都统计了,直方图的总面积等于像素总数。

直方图的作用也就是将一张图中不同灰度值对应像素数的一个统计。

在这个程序的编写中应注意a(I(m,n)+1)= a(I(m,n)+1)+1 不能写成a(I(m,n))= a(I(m,n))+1 ,应为在matlab中矩阵表示没有a(0),若某个像素点的灰度值是0,就会出错,故应写成a(I(m,n)+1)= a(I(m,n)+1)+1形式。

2.对同一场景但模糊程度不一样的三张数字图像绘制出其直方图, 计算每一幅图象所有像素灰度的方差。

图象的清晰度同灰度方差什么关系?Solution:代码及代码的说明:%作用:绘出模糊程度不一样的三张数字图像的直方图,并输出各自灰度方差I1=imread('tu1.bmp');I1=rgb2gray(I1); %转换为灰度图像imwrite(I1,'tu0.bmp'); %由于直方图只能对灰度图作用,故先将其转为灰度图subplot(2,2,1);zhifangtu('tu0.bmp');title('tu1直方图'); %绘出tu1.bmp的直方图k1=size(I1);I1=single(I1);I1=(I1-mean(mean(I1)')).^2; %个像素灰度值减去平均灰%值后再平方t1=sum(sum(I1)')/k1(1)/k1(2), %输出tu1.bmp的所有像素灰度的方差subplot(2,2,2);zhifangtu('tu2.bmp');title('tu2直方图'); %绘出tu2.bmp的直方图I2=imread('tu2.bmp');k2=size(I2);I2=single(I2);I2=(I2-mean(mean(I2)')).^2; %个像素灰度值减去平均灰度值后再%平方t2=sum(sum(I2)')/k2(1)/k2(2), %输出tu2.bmp的所有像素灰度的方差subplot(2,2,3);zhifangtu('tu3.bmp');title('tu3直方图'); %绘出tu3.bmp的直方图I3=imread('tu3.bmp');k3=size(I3);I3=single(I3);I3=(I3-mean(mean(I3)')).^2; %个像素灰度值减去平均灰度值%后再平方t3=sum(sum(I3)')/k3(1)/k3(2), %输出tu3.bmp的所有像素灰度的方差figure;subplot(2,2,1);imshow('tu1.bmp');title('tu1图'); %绘出tu1.bmp的图subplot(2,2,2);imshow('tu2.bmp');title('tu2图'); %绘出tu1.bmp的图subplot(2,2,3);imshow('tu3.bmp');title('tu3图'); %绘出tu1.bmp的图实验结果及分析:上述代码执行后,输出t1 = 7.3027e+003,t2= 6.5808e+003,t3=5.4860e+003;同时输出如下直方图:原始图:分析及结论:tu1,tu2,tu3三幅图是依次变模糊的,三张图的所有像素灰度方差依次为t1 = t1 = 7.3027e+003,t2= 6.5808e+003,t3=5.4860e+003,它们是依次变小的,可知图象的清晰度随灰度方差的变小而变得模糊。

数字图像处理上机作业四

数字图像处理上机作业四

数字图像第四讲作业问题一:高速公路的上方安装一台每秒钟可以拍摄30帧静止画面的摄像机, 高速公路的管理方希望能够借助该摄像机检测到超速行驶的车辆. 请就该问题进行讨论,找出检测超速行驶车辆的解决方案。

(为了使问题简化,可以假设摄像机视野内之会出现一辆汽车)问题可简化为用摄像头拍摄一个兵乓球下落A VI视频, 在matlab中用aviread() 读入视频, 从而求出下落速度.Solution:分析:1.用aviread() 读入视频,然后读入两帧图像I1和I2,进行相减操作,除去背景,得到两个小球的图像I3,程序实现为I3=(I1-I2)+(I2-I1)。

查看I3的灰度直方图选择合适的阈值,对I3进行二值化,得到二值化图便于操作。

2.通过程序获知小球所占像素的首尾位置。

由于小球是下落的,因此只要求出在垂直方向上的首尾位置即可。

首先,将I3在垂直方向上进行投影得到一维的矩阵S=sum(I3')。

然后通过以下一段代码获取两小球的分界点b(不是唯一的),for i=1:m-1if(S(i)==0)&(S(i+1)>0)b=i-1;endend以b点为分界线分别检测第一个和第二个小球的最上部、最下部占的像素head1、tail1、tail2、head2。

思路如下:从1到b进行搜索,如果有一像素的i满足S(i)==0且S(i+1)>0则i+1点即为第一个小球的最上端像素位置。

其他同理。

3.求小球某时刻的下落速度。

先求小球在图像中垂直方向上占的像素数L0=tail1-head1+1; 再求出小球在两帧的时间里运行距离所占的像素数L=head2-head1+1;根据比例关系以及小球实际直径为l0=0.04可求得小球实际下落高度为l=L*l0/L0。

小球在两帧之间下落的时间可求为time=(56-52)/attribute.FramesPerSecond,因此小球再者两帧的中间时刻下落速度为:v1=l/time。

数字图像处理上机实验报告

数字图像处理上机实验报告

数字图像处理上机实验报告数字图像处理上机实验报告实验⼀:MATLAB⼯具箱的使⽤实验⽬的:11:了解matlab语⾔,熟悉并掌握matlab相关的处理语句。

2:了解matlab在图像处理中的优缺点。

3 熟悉matlab的使⽤技巧,能⽤matlab熟悉的对数字图像进⾏各种处理。

1 将⼀幅灰度图像转换成索引⾊图像。

I=imread('ngc4024m.tif');X=grayslice(I,16);imshow(I)figure,imshow(X,hot(16))2:对⼀副图像进⾏⼆值化处理。

load treesBW=im2bw(X,map,0.4);imshow(X,map)figure,imshow(BW)3:将索引⾊图像转化成灰度图像。

load trees I=ind2gray(X,map);imshow(X,map)figure,imshow(I)4:显⽰⼀幅图像。

load clown image(10,10,X) colormap(map)试验⼆图像变换实验⽬的:1 熟悉掌握DFT和DCT变换的matlab实现。

2 利⽤matlab试验DFT和DCT的变换,求出图像的频谱。

1.⼆维离散傅⾥叶变换的旋转型。

I=zeros(256,256);>> I(28:228,108:148)=1;>> imshow(I)J=fft2(I);>> F=abs(J);>> J1=fftshift(F);figure>> imshow(J1,[5 50])>> I(28:228,108:148)=1;>> J=imrotate(I,315,'bilinear','crop'); >>figure >> imshow(J)J1=fft2(J);>> F=abs(J1);>> J2=fftshift(F);figure>> imshow(J2,[5 50])2.图像的傅⾥叶频谱。

数字图像处理上机实验报告(基于Matlab)

数字图像处理上机实验报告(基于Matlab)
图像的除法
除法运算可用于校正成像设备的非线性影响。MATLAB中调用imdivide函数进行两幅图像相除。调用格式如下:
Z=imdivide(X,Y),其中Z=X÷Y。
图像四则运算
因对uint8、uintl6数据,每步运算都要进行数据截取,将会减少输出图像的信息量。图像四则运算较好的办法是使用函数imlincomb。该函数按双精度执行所有代数运算操作,仅对最后的输出结果进行截取,该函数的调用格式如下:
s=uint8(real(ifft2(s)));
subplot(2,3,4),imshow(h);title('传递函数'); %显示GHPF滤波器的传递函数
subplot(2,3,5),imshow(s); title('ILPF滤波(d0=50)'); %显示ILPF滤波后的图像
运行结果窗口截图:
第二次实验
1.图像复原算法
图像在形成、传输和记录过程中,由于受到多种原因的影响,图像的质量就会有所下降,典型的表现为图像模糊、失真、有噪声等,这一过程称为图像的退化。
图像复原是试图利用退化过程的先验知识使已退化的图像恢复本来面目,即根据退化的原因,分析引起退化的环境因素,建立相应的数学模型,并沿着使图像降质的逆过程恢复图像。目的在于消除或减轻在图像获取以及传输的过程中造成的图像品质下降,恢复图像的本来面目。因此,复原技术就是把退化模型化,并采用相反的过程进行处理,以便尽可能复原被退化图像的本来面目。
C=A(:,:,1); %取单色%
D=B(:,:,1);
figure('Name','图像逻辑运算')
res1=C&D; %C&D%
res2=C|D; %C|D%
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理上机实验题一、产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处=0,亮处=100。

对其进行FFT:1、屏显示原图f1(m,n)和FFT(f1)的幅度谱图;2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由;3、若将f2(m,n)顺时针旋转90 度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较;4、若将f1(m,n) 顺时针旋转90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5) 的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;5、若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f 2)和FFT(f3) 的关系,比较FFT(f6)和FFT(f5)的幅度谱。

代码f1=zeros(256,256);for i =64:1:191for j = 112:1:143f1(i,j) = 100;endendf2 = fft2(f1);%f2(m,n) = f3f3 = ((-1)^(i+j))*f1;f4 = fft2(f3);%f3(m,n) = f5f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);%f4(m,n) = f7f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);%f5(m,n) = f8f9 = f1 + f7;f10 = fft2 (f9);%f6(m,n) = f2(m,n)+f3(m,n)f11 = f3 + f5;f12 = fft2(f11);figure(1)subplot(1,2,1);imshow(abs(f1));title('原图f1');subplot(1,2,2);imshow(abs(f2));title('幅度谱fft2(f1)');figure(2)subplot(2,2,1)imshow(abs(f1));title('原图f1')subplot(2,2,2)imshow(abs(f2));title('幅度谱fft2(f1)'); subplot(2,2,3);imshow(abs(f3))title('变换谱f2');subplot(2,2,4);imshow(abs(f4));title('幅度谱fft2(f2)'); figure(3)subplot(2,2,1)imshow(abs(f3))title('变换谱f2');subplot(2,2,2);imshow(abs(f4));title('幅度谱fft2(f2)'); subplot(2,2,3);imshow(abs(f5))title('变换谱f3');subplot(2,2,4);imshow(abs(f6));title('幅度谱fft2(f3)'); figure(4)subplot(3,2,1);imshow(f7);title('f1旋转图f4'); subplot(3,2,2);imshow(abs(f8));title('幅度谱fft2(f4)'); subplot(3,2,3);imshow(f9);title('f5(m,n)=f1+f4'); subplot(3,2,4);imshow(abs(f10));title('幅度谱fft2(f5)'); subplot(3,2,5)imshow(abs(f1));title('原图f1');subplot(3,2,6);imshow(abs(f2));title('幅度谱fft2(f1)');figure(5)subplot(3,2,1)imshow(abs(f3))title('变换谱f2');subplot(3,2,2);imshow(abs(f4));title('幅度谱fft2(f2)'); subplot(3,2,3);imshow(abs(f5))title('变换谱f3');subplot(3,2,4);imshow(abs(f6));title('幅度谱fft2(f3)'); subplot(3,2,5)imshow(abs(f11))title('变换谱f6=f2+f3'); subplot(3,2,6);imshow(abs(f12));title('幅度谱fft2(f6)');figure(6)subplot(2,2,1);imshow(f9);title('f5(m,n)=f1+f4'); subplot(2,2,2);imshow(abs(f10));title('幅度谱fft2(f5)'); subplot(2,2,3)imshow(abs(f11))title('变换谱f6(m,n)=f2+f3'); subplot(2,2,4);imshow(abs(f12));title('幅度谱fft2(f6)');结果分析2、F2(m,n)与F1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改变幅值。

3、FFT(f2) 比FFT(f3)幅值大。

4、f5=f1+f4,即幅值相加。

5、f6=f2+f3,即幅值相加。

二、产生教材104 页题图 4.18 (右图)所示的二值图像(白为1,黑为0),编程实现习题4.18 所要求的处理(3*3 的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取(0或1),显示处理前后的图像,比较其异同。

代码I=[ 1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;];J=imhist(I,2);K=filter2(fspecial('average',3),I);K1=round(K);J1=imhist(K1,2);K2=medfilt2(I);J2=imhist(K2,2);figure(1)subplot(2,2,1)imshow(I);title('原图像');subplot(2,2,2)imshow(J);title('原图像直方图');subplot(2,2,3)imshow(K1);title('3*3领域平均');subplot(2,2,4)imshow(J1);title('领域平均图像直方图')figure(2)subplot(2,2,1)imshow(I);title('原图像');subplot(2,2,2)imshow(J);title('原图像直方图'); subplot(2,2,3)imshow(K2);title('中值滤波');subplot(2,2,4)imshow(J2);title('中值滤波图像直方图')结果三、产生教材104 页题图4.16 所示的灰度图像(白为255 ,黑为0),分别加入高斯白噪声和椒盐噪声,再分别进行3´3 的平均滤波和中值滤波,显示原图像、加噪图像和滤波结果图像,并比较四种滤波结果。

代码f=zeros(256,256);for i =23:1:233for j=28:1:35f(i,j)=255;endfor j=52:1:59f(i,j)=255;endfor j=76:1:83f(i,j)=255;endfor j=100:1:107f(i,j)=255;endfor j=124:1:131f(i,j)=255;endfor j=148:1:155f(i,j)=255;endfor j=172:1:179f(i,j)=255;endfor j=196:1:203f(i,j)=255;endfor j=220:1:227f(i,j)=255;endendg=imnoise(f,'gaussian',0.2);s=imnoise(f,'salt & pepper',0.2);k1=filter2(fspecial('average',3),g); G1=round(k1);G2=medfilt2(g);k2=filter2(fspecial('average',3),s); S1=round(k2);S2=medfilt2(s);figure(1)imshow(f)title('Ô-ʼͼÏñ');figure(2)subplot(3,2,1)imshow(g)title('¸ß˹ͼÏñ');subplot(3,2,2)imshow(s)title('½·ÑÎͼÏñ');subplot(3,2,3)imshow(G1)title('ƽ¾ùÂ˲¨¸ß˹ͼÏñ');subplot(3,2,5)imshow(G2)title('ÖÐÖµÂ˲¨¸ß˹ͼÏñ');subplot(3,2,4)imshow(S1)title('ƽ¾ùÂ˲¨½·ÑÎͼÏñ');subplot(3,2,6)imshow(S2)title('ÖÐÖµÂ˲¨½·ÑÎͼÏñ');结果四、对某一灰度图像,进行如下处理:(1)分别利用Roberts、Prewitt和Sobel 边缘检测算子进行边缘检测;(2)将Roberts、Prewitt和Sobel 边缘检测算子修改为锐化算子,对原图像进行锐化,同屏显示原图像、边缘检测结果和锐化后图像,说明三者之间的关系。

相关文档
最新文档