数字图像处理大作业.docx
- 文档编号:6300059
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:16
- 大小:1.50MB
数字图像处理大作业.docx
《数字图像处理大作业.docx》由会员分享,可在线阅读,更多相关《数字图像处理大作业.docx(16页珍藏版)》请在冰豆网上搜索。
数字图像处理大作业
数字图像处理大作业
学号:
姓名:
班级:
数字图像处理作业
用自己拍摄的图像,完成以下作业:
1,用Matlab语言完成如下实验:
1)打开一个BMP文件
2)将其局部区域的灰度值进行改变
3)另存为一个新的BMP文件
2,Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果。
3,找一幅曝光不足的灰度(或彩色)图像,用Matlab按照直方图均衡化的方法进行处理。
4,用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法进行平滑。
5,用Matlab打开一幅图像,利用Roberts梯度法、Sobel算子和拉普拉斯算子进行锐化,并比较结果。
以上作业,严禁抄袭。
作业请注明学号,姓名,班级,电话号码。
将纸质版于2012-06-06晚7:
00交至B529房间。
1,用Matlab语言完成如下实验:
1)打开一个BMP文件
2)将其局部区域的灰度值进行改变
3)另存为一个新的BMP文件%文件名为way01.bmp
源程序如下:
clearall;
f=imread('way.bmp');
f1=rgb2gray(f);%ת»»Îª»Ò¶Èͼ
figure
(1);
imshow(f1);
imwrite(f1,'way01.bmp');
f1(100:
150,100:
120)=256;%¾Ö²¿¸Ä±ä»Ò¶ÈÖµ
figure
(2);
imshow(f1);
运行结果为:
注:
源文件名为way.jpg
2,Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果。
1)傅里叶高通滤波:
源程序为:
clearall;
I=imread('way01.bmp');
figure
(1);
imshow(I);
I=double(I);
f=fft2(I);
g=fftshift(f);
[M,N]=size(g);
n1=floor(M/2);
n2=floor(N/2);
d0=5;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd>=d0
h1=1;
else
h1=0;
end
g1(i,j)=(h1+0.5)*g(i,j);
end
end
g2=ifftshift(g1);
g3=uint8(real(ifft2(g2)));
figure
(2);imshow(g3);
title('¸ßͨÂ˲¨½á
运行结果为:
2)傅里叶低通滤波:
源程序为:
clearall;
I=imread('way01.bmp');
figure
(1);
imshow(I);
I=double(I);
f=fft2(I);
g=fftshift(f);
[M,N]=size(g);
n1=floor(M/2);
n2=floor(N/2);
d0=30;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h1=1;
else
h1=0;
end
g1(i,j)=(h1+0)*g(i,j);
end
end
g2=ifftshift(g1);
g3=uint8(real(ifft2(g2)));
figure
(2);imshow(g3);
title('µÍͨÂ˲¨½á¹û')
运行结果为:
3,找一幅曝光不足的灰度(或彩色)图像,用Matlab按照直方图均衡化的方法进行处理。
源程序为:
clearall
closeall
tuu=imread('way.bmp');%¶ÁÈëͼƬ
tu=rgb2gray(tuu);%½«²ÊɫͼƬת»»Îª»Ò¶Èͼ
graydis=zeros(1,256);%ÉèÖþØÕó´óС
graydispro=zeros(1,256);
new_graydis=zeros(1,256);
new_graydispro=zeros(1,256);
[hw]=size(tu);
new_tu=zeros(h,w);
%¼ÆËãÔʼֱ·½Í¼¸÷»Ò¶È¼¶ÏñËظöÊýgraydis
forx=1:
h
fory=1:
w
graydis(1,tu(x,y))=graydis(1,tu(x,y))+1;
end
end
%¼ÆËãÔʼֱ·½Í¼graydispro
graydispro=graydis./sum(graydis);
subplot(1,2,1);
plot(graydispro);
title('»Ò¶ÈÖ±·½Í¼');
xlabel('»Ò¶ÈÖµ');ylabel('ÏñËصĸÅÂÊÃܶÈ');
%¼ÆËãÔʼÀÛ¼ÆÖ±·½Í¼
fori=2:
256
graydispro(1,i)=graydispro(1,i)+graydispro(1,i-1);
end
%¼ÆËãºÍÔʼ»Ò¶È¶ÔÓ¦µÄеĻҶÈt[]£¬½¨Á¢Ó³Éä¹Øϵ
fori=1:
256
t(1,i)=floor(254*graydispro(1,i)+0.5);
end
%ͳ¼ÆÐÂÖ±·½Í¼¸÷»Ò¶È¼¶ÏñËظöÊýnew_graydis
fori=1:
256
new_graydis(1,t(1,i)+1)=new_graydis(1,t(1,i)+1)+graydis(1,i);
end
%¼ÆËãеĻҶÈÖ±·½Í¼new_graydispro
new_graydispro=new_graydis./sum(new_graydis);
subplot(1,2,2);
plot(new_graydispro);
title('¾ùºâ»¯ºóµÄ»Ò¶ÈÖ±·½Í¼');
xlabel('»Ò¶ÈÖµ');ylabel('ÏñËصĸÅÂÊÃܶÈ');
%¼ÆËãÖ±·½Í¼¾ùºâºóµÄÐÂͼnew_tu
forx=1:
h
fory=1:
w
new_tu(x,y)=t(1,tu(x,y));
end
end
figure,imshow(tu,[]);
title('Ôͼ');
figure,imshow(new_tu,[]);
title('Ö±·½Í¼¾ùºâ»¯ºóµÄͼ');
运行结果为:
4,用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法进行平滑。
源程序为:
clearall;
f=imread('way.bmp');
I=rgb2gray(f);%תΪ»Ò¶ÈͼÏñ
figure
(1);
imshow(I);
title('ÔʼͼÏñ')
imwrite(I,'way01.bmp');
P2=imnoise(I,'salt&pepper',0.02)%¼ÓÈë½·ÑÎÔêÉù
figure
(2);
imshow(P2);
title('¼ÓÈë½·ÑÎÔêÉù')
h1=medfilt2(P2);%¶Ô½·ÑÎÔêÉùÖÐÖµÂ˲¨
figure(3);
imshow(h1);
title('¶Ô½·ÑÎÔêÉùÖÐÖµÂ˲¨ºó')
%ÁÚÓòƽ¾ù·¨
w1=fspecial('average');%²úÉúÒ»¸ö3x3´óСµÄ·½ÐÎƽ¾ùÂ˲¨Ä£°åw1
h2=imfilter(P2,w1,'replicate');%g1Ϊ´¦ÀíºóµÄͼÏñ¡£'replicate'Ö¸¾í»ýÌî³ä±ßԵʱÓø´ÖƱ߽çµÄÖµÀ´À©Õ¹¡£
figure(4);
imshow(h2);
title('ÁÚÓòƽ¾ù·¨Æ½»¬')
运行结果为:
5,用Matlab打开一幅图像,利用Roberts梯度法、Sobel算子和拉普拉斯算子进行锐化,并比较结果。
源程序为:
clearall;
%RobertsÌݶȷ¨
[I,map]=imread('way01.bmp');
imshow(I,map);
title('ÔʼͼÏñ')
I=double(I);
[Gx,Gy]=gradient(I);%¼ÆËãÌݶÈ
G=sqrt(Gx.*Gx+Gy.*Gy);%×¢ÒâÊǾØÕóµã³Ë
J1=G;
figure
(2),imshow(J1,map);
title('RobertsÌݶȷ¨½øÐÐÈñ»¯')
%ÀÆÕÀ˹Ëã×Ó½øÐÐÈñ»¯
I=double(I);
h=[0-10;-14-1;0-10];
J=conv2(I,h,'same');
K=J;
figure(3),imshow(K,[]);
title('ÀÆÕÀ˹Ëã×Ó½øÐÐÈñ»¯')
%SobelËã×ÓÈñ»¯
I=double(I);
h1=[-101;-202;-101];
J1=conv2(I,h1,'same');
K1=J1;
figure(4),imshow(K1);
title('SobelËã×ÓÈñ»¯')
运行结果为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 作业