数字图像处理题库.docx
- 文档编号:28035905
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:17
- 大小:34.74KB
数字图像处理题库.docx
《数字图像处理题库.docx》由会员分享,可在线阅读,更多相关《数字图像处理题库.docx(17页珍藏版)》请在冰豆网上搜索。
数字图像处理题库
1.选择一副图像eight.tif.设宜输入/输出变换的灰度级范115],a=0.3,b=5,c=3,d=6o
I=imreadCeight.tif);
I=im2double(I);
Il=0.3.*I+5/255;
12=3卢1+6/255;
subplot(1,3,1);imshow(I);title(,原始图像');
subplot(1,3,2);imshow(11);tiUcCa=O・3,b=5');
subplot(13,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(121);imshow(I);title(,原始图像');
subplot(122);imshow(S);Mlc(‘非线性扩展的图像');
3.采用灰度倒置变换函数s=255-r进行图像eight.tif变换
timreadCeight.tif);
I=im2doubIe(I);
a=-l;
b=255;
S=a.*I+b/255;
subplot(1,2,1);imshow(I);title(r原始图像');
subplot(122);imshow(S);tiUc('变换后的图像');
4.对图像eight.tif进行旋转45度和180度
I=imread('eight.tif);
J=imrotate(L60/bilinear*);
K=imrotate(IJ80/bilineaf);
subplot(13,1);imshow(I);title(,原始图像');
subplot(13,2);imshow(J);title(*旋转60图像');
subplo((l,3,3);imshow(K);titlcC旋转180图像');
5.选取一副图像eight.tif,进行离散傅里叶变换,将英中心移到零点,得到其离散傅里叶变换。
参考例4.10
I=imreadCeight.tif);
Il=fftshift(fft2(I));
subplotd21);imshow(I);title(,原始图像J;
subplot(122);imshow(log(abs(11))变换后的图像');
6.选取一副图像,进行离散傅里叶变换,再对其进行一泄角度的旋转,进行离散傅里叶变换.参考例4.6
I=zeros(255,255);
1(100:
150,50:
200)=1;
11=fftshift(abs(fft2(I)));
I2=imrota忙(I,60「bilincarTcrop');
I3=fftshift(abs(fft2(12)));
subplot(1Al);imshow(I);title(,原始图像');
subplot(1,4,2);imshow(11J550]);titlc('傅立叶变换后的图像');
subplot(L43);imshow(I2);title('旋转90度后图像');
subplot(1A4);imshow(I3,[550]);title(,W立叶变换后的原始图像);
7.选取一副图像eight.tif,进行离散余弦变换,并对其进行离散余弦反变换。
参考例4.13
I=imreadCeight.tif);
Il=dct2(I);
I2=idct2(11)/255:
subplot(L3J);imshow(I);title(,原始图像');
subplot(1,3,2);imshow(11);titlef余弦变换图像);
subplot(133);imshow(⑵;山lcC反余弦变换图像');
&选取一副图像eight.tif,采用butterworth髙通滤波器对图像进行髙通滤波。
参考例5.7I=imread('eight.tif);
Il=fftshift(fft2(I));
|M.N]=size(Il);
n=2;dO=3O;
nl=floor(M/2);
n2=floor(N/2);
forx=l:
M
fory=l:
N
d=sqrt((x-n1)A2+(y-n2)A2);
H=l/(l+(d0/d)A(2*n));
I2(x,y)=H*Il(x,y);
end
end
I2=ifftshift(I2);
I3=real(ifft2(12));
subplot(121);imshow(I);title(,原始图像');subplot(122);imshow(I3);tiUcCBuMcrworth髙通滤波处理后的图像');
9.选择一副图像eight.tif,对灰度图像进行直方图均衡化处理。
^imreacK/eight.tif);
K=16;
H=histcq(LK);
figure,
subplot(2,24);imshow(I,[]);title(,原始图像');
subplol(222);imshow(H.[]),holdon
subplot(2?
23).hist(doubIe(I)J6);
subplot(2,2,4)Jiist(double(H)」6);
10.选择一副图像eight.tif,对灰度图像采用均值滤波。
img=imread(,eight.tif);
subplot(L3J);imshow(img);title(f原图');img_noise=double(inmoise(inig/salt&pepper\0.08));subplot(132);imshow(img_noise,[]);title(,加噪点图');img_deal=imfiIter(inig_noiseJspecial(,average\5));subplot(133);imshow(img_deal.[]);title(,平滑图');
11.选择一副图像coins.png,对灰度图像,采用prewitt边缘算子和sobcl算子对图像进行增强处理。
img=imread(,coins.png,);
imgl=cdge(img/prewitt,);
img2=edge(img;sobcl,);
subplot(13J);imshow(img);title(,原始图像);
subplot(1,3,2);imshow(imgl);title(,prewitt,);
subplot(133);imshow(img2);title(,sobel,);
12.仿照matlab识別圆形物体例程,对coins.png图像进行处理。
I=imread(,coins.png,);
threshold=graythresh(I);
bw=im2bw(I,threshold);
imshow(I);
%removeallobjectcontainingfewerthan30pixels
bw=bwareaopen(bu;30);
%fillagapinthepen'scap
se=strelfdisk\2);
bw=imclose(bw,se);
%fillanyholes,sothatregionpropscanbeusedtoestimate
%theareaenclosedbyeachoftheboundaries
bw=imfill(bw.'holcs');
[B.L]=bwboundaries(bw/noholesr);
%Displaythelabelmatrixanddraweachboundaiy
holdon
fork=l:
length(B)
boundary=B(k};
plot(boundary(:
2Xboundary(:
l),LineWidth:
2)
end
imshow(I);
stats=regionprops(L;Area7Centroid');
threshold=0.94;
%loopovertheboundaries
fork=l:
length(B)
%obtain(X.Y)boundarycoordinatescorrespondingtolabelk
boundary=B{k);
%求周长
delta_sq=diff(boundary).A2;
perimeter=suni(sqrt(sum(delta_sq,2)));
%求而积
area=stats(k).Area;
%求半径
metric=2*area/perimeter;
metric_string=sprintf(,r=%2.2fjnctric);
text(boundary(1,2)-35,boundary(Ll)+13,metric_string,,ColorVy\...
FontSize;14/FontWeight\,bold,);
end
titled求各个硬币的半径
13.对灰度图像进行直线检测,参考例&2
I=imrcad('img1.bmp');
I=rgb2gray(I);
bw=edge(I/logr);
[HXR]=hough(bw);
P=houghpeaks(H>5;threshold\ceil(0.3*max(H(:
))));
x=T(P(⑵);
y=R(P(:
J));
lines^ioughlinesCbw.TR.PJFillGap^/MinLength'JO);
imshow(bw);
holdon;
max_len=O:
fork=l:
length(lines)
xy=[lines(k).pointl:
lines(k).point2];
plot(xy(:
Jhxy(:
2),,LineWidth\2/ColorVg,);
end
14.对图像eight.tif进行OSTU算法阈值分割,参考例&4
i=imreadCeight.tif);
[width,height]=size(i);
thresh=graythresh(i);
bw=im2bw(i,thresh);
imshow(bw);
15.对图像img3.bmp进行开运算和闭运算以及填充,参考例&11
i=imreadCimg3.bmp');
i=rgb2gray(i);
bw=im2bw(i);
se=strelfdisk\6);
bw=imopen(bw,se);
bw=~bw;
imshow(bw);
16.识别图像中字的个数©参考matlab例程CorrectingNonuniformIllumination
i=imread(,img4.bmp,);
i=rgb2gray(i);
thresh=graythresh(i);
bw=im2bw(i,thresh);
se=strelfdisk\2);
bw=~bw;
bw=imdilate(bw,se);
|labeledjiumObjects]=bwlabel(bw,4):
t=sprintf(,字的个数是:
%d\numObjects):
imshow(bw);
title(t);
17.两幅图像进行逻辑与、或,非运算
A=zeros(128);A(40:
67,60:
100)=1;
figure(l);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=ininoise(I/gaussian\0.0.02);
K=imsubtract(I,J);%实现两幅图片相减
Kl=255-K;%将图片求反显示
figure;imshow(I);titl%原始图像);
figure;imshow(J);titlcC有噪声的图');
figure;imshow(Kl);titl*提取的噪声
19.已知一副图像coins.png,对图像进行水平镜像
I=imread(,coins.png,);
|M.N]=size(I);g=zeros(M,N);
fori=l:
M
forj=l:
N
g(ij)=I(i,N-j+l);
end
end
subplot(121);imshow(I);titlcC原始图像');
subplot(122);imshow(uint8(g));title(*水平镜像r);
20.已知一副图像coins.png,对图像进行垂直镜像
I=imrcad('coins・png・);
[M,N]=sizc⑴;
g=zeros(M.N);
fori=l:
M
forj=l:
N
g(iJ)=I(M-i+lj);
end
end
subplot(121);imshow(I);titlefM始图像');
subplot(l22);imshow(uint8(g));titled垂直镜像);
21.已知一副图像coins.png,对图像缩小一倍
I=imrcad('coins・png);
J=imresize(L0.5);
figure,imshow⑴;titlef原图像');
figureJmshow(J);title('^小一倍的图像);
22.已知一副图像coins.png,采用最近邻法对图像放大一倍
I=imrcad('coins・png・);
J=imresize(L2/nearest,);
figure,imshow(I);litlc(‘原图像');
figure.imshow(J);title(,/&大一倍的图像);
23.已知一副图像coins.png,对图像进行反转。
Img1=imread(,coins.png,);
figure.imshow(Img1);titlc('originalimage');
Img2=imcomplement(Iing1);
figure,imshow(Img2);title(*negativeimage1);
24.对图像coins.png进行直方图均衡化并显示原图像和均衡化后的图像以及直方图
I=imread(,coins.png,);
H=histeq(I);
figure,subplot(2,2,1),imshow(I,[])
subplot(222),imsho\v(H,[]).holdon
subplot(2,23).hist(double(I)),subplot(2,2A)Jiist(double(H))
25.对一副图像coins.png加入椒盐噪声,然后采用局部3X3的模板进行平滑处理。
img=imread(,coins.png,);
figure;imshow(img);
img_noise=double(imnoise(img/salt&pcpper\0.06));
figure;imshow(img_noisc,[J);
img_smoothed=imfilter(img_noiseJspecial(,average\3));
figure;imshow(img_smoothcd,[]);
26.对一副图像coins.png加入髙斯噪声,然后采用局部5X5的模板进行平滑处理。
img=imread(,coins.png,);
figure;imshow(img);
img_noise=double(ininoise(inig?
gaussian\0.02));
figure;imshow(img_noise4]);
inig_smoothed=imfilter(img_noiseJspecial(,average\5));
figure;imshow(img_smoothed4]);
27.已知一副图像coins.png,进行sobcl边缘检测,显示原图和边缘检测图。
I=imread(,coins.png,);
bw=edge(IJsober);
subplot(121),imshow(I);titlcC原图像');
subplol(122),imshow(bw);山lc('Sobcl算子');
28.已知一副图像coins.png,进行prewitt边缘检测,显示原图和边缘检测图。
I=imrcad('coins.png');
bw=edge(I/prewitt*);
subplot(121),imshow(I);titlc(‘原图像');
subplot(122)jmshow(bw);title(,prewitt算子');
29.已知一副图像coins.png,进行robert边缘检测,显示原图和边缘检测图。
I=imrcad('coins・png);
bw=edge(I/roberts,);
subplot(121)Jnishow(I);title(,原图像');
subplot(122)Jmshow(bw);title(,robert算子');
30.已知一副图像coins.png,进行髙斯■拉普拉斯边缘检测,显示原图和边缘检测图。
I=imrcad('coins・png°);
bw=cdgc(Llog);
subplot(121)Jmshow(I);title(,原图像');subplot(122),imshow(bw);titlef高斯.拉普拉斯算子r);
31.已知一副图像coins.png,显示英直方图和原图像。
I=imrcad('coins,png');
subplot(121)jmshow(I);title(,原图像');
subplot(122)Jmhist(I);title(,直方图');
32.已知一个图像coins.png,对图像进行腐蚀运算,输岀原图和结果图.
I=imread(,coins.png,);
sel=strel(*disk\5);
bw=imerode(Lsel);
subplot(121)jmshow(I):
山lc(‘原图像');
subplot(l22).imshow(bw);山lc('腐蚀后的图像J;
33.已知一个图像coins.png,对图像进行膨胀运算,输出原图和结果图I=imread(,coins.png,);
se2=strel(,line\5,90):
bw=imdilate(Lse2);
subplot(l21)Jmshow(I);title(,原图像');
subplo((122),imshow(bw);titlc('膨胀后的图像J;
34.已知一个图像coins.png,对图像进行开运算,输岀原图和结果图
I=imread(,coins.png,);
se=strelfdisk\5);
bw=imopen(Lse):
subplot(121)jmshow(I);titleC原图像');
subplot(122)jmshow(bw);title('?
F运算后的图像);
35.已知一个图像coins.png,对图像进行闭运算,输出原图和结果图
I=imrcad('coins・png°);
se=strel(fdisk\5);
bw=imclose(Lse);
subplot(l21),imshow(I):
titlcC原图像');
subplot(l22)jmshow(bw);title(,闭运算后的图像');
36.
已知一个图像coins.png,求其右上角方块的灰度均值,以及该区域的灰度最大值和最小
%得到髙度的一半mw
%得到宽度的一半mh
%变量初始化
forj=mh:
n%二重循环计算右上角灰度值之和
sumg=sumg+I(ij);
end
avg=sumg/(mw*mh)%计算图像右上角灰度值的均值
maxg=max(niax(I(1:
mw.mh:
n)))诙计算得到图像右上角灰度值的最大值
ming=min(min(1(1:
mw.mh:
n)»%计算得到图像右上角灰度值的最小值
37.已知一个图像coins.png,求英左下角方块的灰度均值,以及该区域的灰度最大值和最小值
I=imread(,coins.png,);%读取图像
I=double(I);%转换成double型
[m,n]=size(D;%获取图像的高度m和宽度n
mw=round(m/2);mh=round(n/2);sumg=0.0;
fori=mw:
m
%得到髙度的一半mw
%得到宽度的一半mh
%变量初始化
forj=l:
mh%二重循环计算左下角灰度值之和
sumg=sumg+I(ij);
end
end
avg=sumg/(mw*nih)%计算图像左下角灰度值的均值
maxg=max(max(I(mw:
ni.1:
mh)))%计算得到图像左下角灰度值的最大值
ining=min(min(I(mw:
m」:
mh)))%计算得到图像左下角灰度值的最小值
38.已知一个图像coins.png,求英右下角方块的灰度均值,以及该区域的灰度最大值和最小值
%读取图像
%转换成double型
%获取图像的髙度m和宽度n
%得到髙度的一半mw
%得到宽度的一半mh
%变量初始化
I=imread(,coins.png,);
I=doubIe(I);
|m.n]=size(I);
mw=round(m/2);mh=round(n/2);
sunig=0.0;
fori=mw:
m
forj=mh:
n%二重循环计算右下角灰度值之和
sumg=sumg+I(ij);
end
end
avg=sumg/(mw*mh)%计算图像右卞角灰度值的均值
maxg=max(niax(I(mw:
m.nih:
n)))%计算得到图像右下角灰度值的最大值
ming=min(min(I(mw:
m.mh:
n)))%讣算得到图像右下角灰度值的最小值
39.已知一副图像coins.png,求英硬币的区域而积,并输岀。
I=imrcad('coins・png‘);
T=graythresh(I);
bw=im2bw(I,T);
bwl=bwfill(bw;holes,);
BL=bwlabel(bwl);
F=regionprops(BL/Area*);
fori=l:
10
F(i)
end
40.已知一副图像coins.png,求其硬币的区域重心位巻,并在图像中标岀。
I=imrcad('coins・p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)