数字图像处理题库.doc_第1页
数字图像处理题库.doc_第2页
数字图像处理题库.doc_第3页
数字图像处理题库.doc_第4页
数字图像处理题库.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

1. 选择一副图像eight.tif,设置输入/输出变换的灰度级范围,a=0.3,b=5,c=3,d=6。I=imread(eight.tif);I=im2double(I);I1=0.3.*I+5/255;I2=3.*I+6/255;subplot(1,3,1);imshow(I);title(原始图像);subplot(1,3,2);imshow(I1);title(a=0.3,b=5);subplot(1,3,3);imshow(I2);title(a=3,b=6);2. 设置非线性扩展函数的参数c=2,r=1.5,对图像eight.tif进行变换。I=imread(eight.tif);c=2;r=1.5;S=imadjust(I,r)*c;subplot(1,2,1);imshow(I);title(原始图像);subplot(1,2,2);imshow(S);title(非线性扩展的图像);3. 采用灰度倒置变换函数s=255-r进行图像eight.tif变换I=imread(eight.tif);I=im2double(I);a=-1;b=255;S=a.*I+b/255;subplot(1,2,1);imshow(I);title(原始图像);subplot(1,2,2);imshow(S);title(变换后的图像);4. 对图像eight.tif进行旋转45度和180度I=imread(eight.tif);J=imrotate(I,60,bilinear);K=imrotate(I,180,bilinear);subplot(1,3,1);imshow(I);title(原始图像);subplot(1,3,2);imshow(J);title(旋转60图像);subplot(1,3,3);imshow(K);title(旋转180图像);5. 选取一副图像eight.tif,进行离散傅里叶变换,将其中心移到零点,得到其离散傅里叶变换。参考例4.10I=imread(eight.tif);I1=fftshift(fft2(I);subplot(1,2,1);imshow(I);title(原始图像);subplot(1,2,2);imshow(log(abs(I1),);title(变换后的图像);6. 选取一副图像,进行离散傅里叶变换,再对其进行一定角度的旋转,进行离散傅里叶变换. 参考例4.6I=zeros(255,255);I(100:150,50:200)=1;I1=fftshift(abs(fft2(I);I2=imrotate(I,60,bilinear,crop);I3=fftshift(abs(fft2(I2);subplot(1,4,1);imshow(I);title(原始图像);subplot(1,4,2);imshow(I1,5 50);title(傅立叶变换后的图像);subplot(1,4,3);imshow(I2);title(旋转90度后图像);subplot(1,4,4);imshow(I3,5 50);title(傅立叶变换后的原始图像);7. 选取一副图像eight.tif,进行离散余弦变换,并对其进行离散余弦反变换。参考例4.13I=imread(eight.tif);I1=dct2(I);I2=idct2(I1)/255;subplot(1,3,1);imshow(I);title(原始图像);subplot(1,3,2);imshow(I1);title(余弦变换图像);subplot(1,3,3);imshow(I2);title(反余弦变换图像);8. 选取一副图像eight.tif,采用butterworth高通滤波器对图像进行高通滤波。参考例5.7I=imread(eight.tif);I1=fftshift(fft2(I);M,N=size(I1);n=2;d0=30;n1=floor(M/2);n2=floor(N/2);for x=1:M for y=1:N d=sqrt(x-n1)2+(y-n2)2); H=1/(1+(d0/d)(2*n); I2(x,y)=H*I1(x,y); endendI2=ifftshift(I2);I3=real(ifft2(I2);subplot(1,2,1);imshow(I);title(原始图像);subplot(1,2,2);imshow(I3);title(Butterworth高通滤波处理后的图像);9. 选择一副图像eight.tif,对灰度图像进行直方图均衡化处理。I=imread(eight.tif);K=16;H=histeq(I,K);figure,subplot(2,2,1);imshow(I,);title(原始图像);subplot(2,2,2);imshow(H,),hold onsubplot(2,2,3),hist(double(I),16);subplot(2,2,4),hist(double(H),16);10. 选择一副图像eight.tif,对灰度图像采用均值滤波。img=imread(eight.tif);subplot(1,3,1);imshow(img);title(原图);img_noise=double(imnoise(img,salt & pepper,0.08);subplot(1,3,2);imshow(img_noise,);title(加噪点图);img_deal=imfilter(img_noise,fspecial(average,5);subplot(1,3,3);imshow(img_deal,);title(平滑图);11. 选择一副图像coins.png,对灰度图像,采用prewitt边缘算子和sobel算子对图像进行增强处理。img=imread(coins.png);img1=edge(img,prewitt);img2=edge(img,sobel);subplot(1,3,1);imshow(img);title(原始图像);subplot(1,3,2);imshow(img1);title(prewitt);subplot(1,3,3);imshow(img2);title(sobel);12. 仿照matlab识别圆形物体例程,对coins.png图像进行处理。I=imread(coins.png);threshold = graythresh(I);bw = im2bw(I,threshold);imshow(I);% remove all object containing fewer than 30 pixelsbw = bwareaopen(bw,30);% fill a gap in the pens capse = strel(disk,2);bw = imclose(bw,se);% fill any holes, so that regionprops can be used to estimate% the area enclosed by each of the boundariesbw = imfill(bw,holes);B,L = bwboundaries(bw,noholes);% Display the label matrix and draw each boundaryhold onfor k = 1:length(B) boundary = Bk; plot(boundary(:,2), boundary(:,1), w, LineWidth, 2)endimshow(I);stats = regionprops(L,Area,Centroid);threshold = 0.94;% loop over the boundariesfor k = 1:length(B) % obtain (X,Y) boundary coordinates corresponding to label k boundary = Bk; % 求周长 delta_sq = diff(boundary).2; perimeter = sum(sqrt(sum(delta_sq,2); %求面积 area = stats(k).Area; %求半径 metric = 2*area/perimeter; metric_string = sprintf(r=%2.2f,metric); text(boundary(1,2)-35,boundary(1,1)+13,metric_string,Color,y,. FontSize,14,FontWeight,bold);endtitle(求各个硬币的半径);13. 对灰度图像进行直线检测,参考例8.2I=imread(img1.bmp);I=rgb2gray(I);bw=edge(I,log);H,T,R=hough(bw);P=houghpeaks(H,5,threshold,ceil(0.3*max(H(:);x=T(P(:,2);y=R(P(:,1);lines=houghlines(bw,T,R,P,FillGap,5,MinLength,10);imshow(bw);hold on;max_len=0;for k=1:length(lines) xy=lines(k).point1;lines(k).point2; plot(xy(:,1),xy(:,2),LineWidth,2,Color,g);end14. 对图像eight.tif进行OSTU算法阈值分割,参考例8.4i=imread(eight.tif);width,height=size(i);thresh=graythresh(i);bw=im2bw(i,thresh);imshow(bw);15. 对图像img3.bmp进行开运算和闭运算以及填充,参考例8.11i=imread(img3.bmp);i=rgb2gray(i);bw=im2bw(i);se = strel(disk,6);bw=imopen(bw,se);bw=bw;imshow(bw);16. 识别图像中字的个数。参考matlab例程Correcting Nonuniform Illuminationi=imread(img4.bmp);i=rgb2gray(i);thresh=graythresh(i);bw=im2bw(i,thresh);se = strel(disk,2);bw=bw;bw=imdilate(bw,se);labeled,numObjects = bwlabel(bw,4);t=sprintf(字的个数是:%d,numObjects);imshow(bw);title(t);17. 两幅图像进行逻辑与、或,非运算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=and(A,B); figure(3); imshow(C);D=or(A,B); figure(4); imshow(D);E=not(A); figure(5); imshow(E);18. 对一副图像首先加入高斯噪声,然后通过减法运算提取噪声。I=imread(eight.tif); J=imnoise(I,gaussian,0,0.02);K=imsubtract(I,J); %实现两幅图片相减K1=255-K; %将图片求反显示figure;imshow(I); title(原始图像);figure;imshow(J); title(有噪声的图);figure;imshow(K1); title(提取的噪声);19. 已知一副图像coins.png,对图像进行水平镜像I=imread(coins.png);M,N=size(I); g=zeros(M,N);for i=1:M for j=1:N g(i,j)=I(i,N-j+1); endendsubplot(121); imshow(I); title(原始图像);subplot(122); imshow(uint8(g); title(水平镜像);20. 已知一副图像coins.png,对图像进行垂直镜像I=imread(coins.png);M,N=size(I); g=zeros(M,N);for i=1:M for j=1:N g(i,j)=I(M-i+1,j); endendsubplot(121); imshow(I); title(原始图像);subplot(122); imshow(uint8(g); title(垂直镜像);21. 已知一副图像coins.png,对图像缩小一倍I=imread(coins.png);J=imresize(I,0.5);figure,imshow(I);title(原图像);figure,imshow(J);title(缩小一倍的图像);22. 已知一副图像coins.png,采用最近邻法对图像放大一倍I=imread(coins.png);J=imresize(I,2,nearest);figure,imshow(I);title(原图像);figure,imshow(J);title(放大一倍的图像);23. 已知一副图像coins.png,对图像进行反转。Img1=imread(coins.png);figure,imshow(Img1);title(original image);Img2=imcomplement(Img1);figure,imshow(Img2);title(negative image);24. 对图像coins.png进行直方图均衡化并显示原图像和均衡化后的图像以及直方图I=imread(coins.png);H=histeq(I);figure,subplot(2,2,1),imshow(I,)subplot(2,2,2),imshow(H,),hold onsubplot(2,2,3),hist(double(I),subplot(2,2,4),hist(double(H)25. 对一副图像coins.png加入椒盐噪声,然后采用局部3X3的模板进行平滑处理。img=imread(coins.png);figure; imshow(img);img_noise=double(imnoise(img,salt & pepper,0.06);figure; imshow(img_noise,);img_smoothed=imfilter(img_noise,fspecial(average,3);figure; imshow(img_smoothed,);26. 对一副图像coins.png加入高斯噪声,然后采用局部5X5的模板进行平滑处理。img=imread(coins.png);figure; imshow(img);img_noise=double(imnoise(img,gaussian,0.02);figure; imshow(img_noise,);img_smoothed=imfilter(img_noise,fspecial(average,5);figure; imshow(img_smoothed,);27. 已知一副图像coins.png,进行sobel边缘检测,显示原图和边缘检测图。I=imread(coins.png);bw=edge(I,sobel);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(Sobel算子);28. 已知一副图像coins.png,进行prewitt边缘检测,显示原图和边缘检测图。I=imread(coins.png);bw=edge(I,prewitt);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(prewitt算子);29. 已知一副图像coins.png,进行robert边缘检测,显示原图和边缘检测图。I=imread(coins.png);bw=edge(I,roberts);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(robert算子);30. 已知一副图像coins.png,进行高斯-拉普拉斯边缘检测,显示原图和边缘检测图。I=imread(coins.png);bw=edge(I,log);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(高斯-拉普拉斯算子);31. 已知一副图像coins.png,显示其直方图和原图像。I=imread(coins.png);subplot(121),imshow(I);title(原图像);subplot(122),imhist(I);title(直方图);32. 已知一个图像coins.png,对图像进行腐蚀运算,输出原图和结果图.I=imread(coins.png);se1=strel(disk,5);bw=imerode(I,se1);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(腐蚀后的图像);33. 已知一个图像coins.png,对图像进行膨胀运算,输出原图和结果图I=imread(coins.png);se2=strel(line,5,90);bw=imdilate(I,se2);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(膨胀后的图像);34. 已知一个图像coins.png,对图像进行开运算,输出原图和结果图I=imread(coins.png);se = strel(disk,5);bw=imopen(I,se);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(开运算后的图像);35. 已知一个图像coins.png,对图像进行闭运算,输出原图和结果图I=imread(coins.png);se = strel(disk,5);bw=imclose(I,se);subplot(121),imshow(I);title(原图像);subplot(122),imshow(bw);title(闭运算后的图像);36. 已知一个图像coins.png,求其右上角方块的灰度均值,以及该区域的灰度最大值和最小值I=imread( coins.png ); %读取图像I=double(I); %转换成double型m,n=size(I); %获取图像的高度m和宽度nmw=round(m/2); %得到高度的一半mwmh=round(n/2); %得到宽度的一半mhsumg=0.0; %变量初始化for i=1:mw for j=mh:n %二重循环计算右上角灰度值之和 sumg=sumg+I(i,j); endendavg=sumg/(mw*mh) %计算图像右上角灰度值的均值maxg=max(max(I(1:mw,mh:n) %计算得到图像右上角灰度值的最大值ming=min(min(I(1:mw,mh:n) %计算得到图像右上角灰度值的最小值37. 已知一个图像coins.png,求其左下角方块的灰度均值,以及该区域的灰度最大值和最小值I=imread(coins.png); %读取图像I=double(I); %转换成double型m,n=size(I); %获取图像的高度m和宽度nmw=round(m/2); %得到高度的一半mwmh=round(n/2); %得到宽度的一半mhsumg=0.0; %变量初始化for i=mw:m for j=1:mh %二重循环计算左下角灰度值之和 sumg=sumg+I(i,j); endendavg=sumg/(mw*mh) %计算图像左下角灰度值的均值maxg=max(max(I(mw:m,1:mh) %计算得到图像左下角灰度值的最大值ming=min(min(I(mw:m,1:mh) %计算得到图像左下角灰度值的最小值38. 已知一个图像coins.png,求其右下角方块的灰度均值,以及该区域的灰度最大值和最小值I=imread(coins.png); %读取图像I=double(I); %转换成double型m,n=size(I); %获取图像的高度m和宽度nmw=round(m/2); %得到高度的一半mwmh=round(n/2); %得到宽度的一半mhsumg=0.0; %变量初始化for i=mw:m for j=mh:n %二重循环计算右下角灰度值之和 sumg=sumg+I(i,j); endendavg=sumg/(mw*mh) %计算图像右下角灰度值的均值maxg=max(max(I(mw:m,mh:n) %计算得到图像右下角灰度值的最大值ming=min(min(I(mw:m,mh:n) %计算得到图像右下角灰度值的最小值39. 已知一副图像coins.png,求其硬币的区域面积,并输出。I=imread(coins.png);T=gr

温馨提示

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

评论

0/150

提交评论