您好,欢迎访问三七文档
武汉理工大学理学院数学系课程实验报告课程名称:计算机图形学班级日期2016.4.8成绩评定姓名实验室108老师签名学号实验名称图像增强方法研究及实现所用软件实验仪器为电脑,软件为MATLAB2009及更高版本以及word。实验目的及内容实验目的:掌握数字图像的常见图像平滑、锐化算法,能有针对性的根据图像特点,设计不同算法。利用matlab,实现噪声图像的直方图均衡化、去噪、图像锐化等操作。实验原理步骤、实验原理图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。图像增强技术主要有直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。直方图是多种空间城处理技术的基础。直方图操作能有效地用于图像增强。直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果。直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。图像平滑具有去噪的效果,线性平滑本质上是一种低通滤波。锐化则相反。常见的图像平滑算法可以在空间域和频率域中分别实现。中值滤波则使一种非线性方法,它们分别适用于滤去不同特性的噪声信号。四、实验内容及注意事项理解、掌握直方图均衡化算法、均值滤波算法、中值滤波算法、及roberts/laplace/sobel/priwitt各种边缘锐化算法的实现;掌握频域中使用巴特沃斯低通滤波器和高通滤波器进行滤波的算法实现。注意添加不同类型的噪声,各种滤波算法对噪声的适用范围。五、实验步骤1.读入一副彩色图像(请自己选取一个非卡通图像,)大小为256*256,观察它的每个点象素;2.将该彩色图像变成灰度图像;要求自己写函数,并和matlab自带函数rgb2gray比较;3.将该图像的直方图画出来,要求自己编写函数,并与matlab自带的imhist函数比较显示结果。4.自己编写函数,进行直方图均衡化,并显示均衡化后的图像。并与matlab自带函数imhisteq比较显示结果.5.将该彩色图像使用imnoise函数加入各种噪声,显示图像;或者读入一副低质量被噪声污染的图像。6.自己编写图像平滑算法:均值滤波和中值滤波,要求设置不同大小的均值滤波模板,改变权值,测试试验结果。中值滤波要求能设置不同的滤波窗口大小,显示结果。7.读入另外一副彩色图像,对其采取不同的roberts/laplace/sobel/priwitt边缘锐化算子进行边缘增强和锐化。比较不同算子的计算结果。对原始图像加入噪声,观察锐化后的效果。8.结合试验结果,对不同图像增强方法进行分析和比较,写出你的实验体会。实验结果及分析1.---2题代码:Im=imread('F:\lena.jpg');Y=0.299*Im(:,:,1)+0.587*Im(:,:,2)+0.114*Im(:,:,3);Im2=rgb2gray(Im);figuresuptitle('原图,灰度图')subplot(1,3,1)imshow(Im);subplot(1,3,2)imshow(Y);subplot(1,3,3)imshow(Im2)3.I=imread('F:/lena.jpg');n=128;%设直方图等级为128figure;%subplot(2,1,1);imshow(I);title('原图')pr=zeros(1,n);delt=256/n;fori=1:npr(i)=nnz(I=delt*(i-1)&Idelt*i);endfigure;bar(1:n,pr);title('Myimhist')figurei=rgb2gray(imread('F:/lena.jpg'));imhist(i);title('imhist')4.figure,I=rgb2gray(imread('F:/lena.jpg'));j=histeq(I);imshow(j)title('histeq函数')[height,width]=size(I);%进行像素灰度统计;NumPixel=zeros(1,256);%统计各灰度数目,共256个灰度级fori=1:heightforj=1:widthNumPixel(I(i,j)+1)=NumPixel(I(i,j)+1)+1;%对应灰度值像素点数量增加一endend%计算灰度分布密度ProbPixel=zeros(1,256);fori=1:256ProbPixel(i)=NumPixel(i)/(height*width*1.0);end%计算累计直方图分布CumuPixel=zeros(1,256);fori=1:256ifi==1CumuPixel(i)=ProbPixel(i);elseCumuPixel(i)=CumuPixel(i-1)+ProbPixel(i);endend%累计分布取整CumuPixel=uint8(255.*CumuPixel+0.5);%对灰度值进行映射(均衡化)fori=1:heightforj=1:widthI(i,j)=CumuPixel(I(i,j)+1);endendfigure,imshow(I)%显示图像title('新histeq')5.代码:x=rgb2gray(imread('F:/XL/timg.jpg'));subplot(1,3,1);imshow(x);j=imnoise(x,'gaussian',0,0.02);subplot(1,3,2);imshow(j)加噪前的灰度图:加噪后的图片:6.均值滤波:H1=1/9[111;111;111];H2=1/25[11111;......;](PS:5*5单位阵)代码:I=imread('F:/XL/timg.jpg');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt&pepper',0.02);I3=imnoise(I,'speckle');H1=ones(3,3)/9;J=imfilter(I,H1);J1=imfilter(I1,H1);J2=imfilter(I2,H1);J3=imfilter(I3,H1);subplot(221),imshow(J);subplot(222),imshow(J1);subplot(223),imshow(J2);subplot(224),imshow(J3);结果:从左到右依次为:原图像滤波后,受高斯噪声污染的图像滤波,受盐椒噪声污染的图像滤波,以及受乘法噪声污染的图像滤波代码2:I=imread('F:/XL/QQ.jpg');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt&pepper',0.02);I3=imnoise(I,'speckle');H1=ones(5,5)/25;J=imfilter(I,H1);J1=imfilter(I1,H1);J2=imfilter(I2,H1);J3=imfilter(I3,H1);subplot(221),imshow(J);subplot(222),imshow(J1);subplot(223),imshow(J2);subplot(224),imshow(J3);结果:中值滤波:代码:I=rgb2gray(imread('F:/XL/EE.jpg'));I1=imnoise(I,'gaussian');I2=imnoise(I,'salt&pepper',0.02);I3=imnoise(I,'speckle');J1=medfilt2(I1,[3,3]);J2=medfilt2(I2,[3,3]);J3=medfilt2(I3,[3,3]);J4=medfilt2(I1,[5,5]);J5=medfilt2(I2,[5,5]);J6=medfilt2(I3,[5,5]);figure,subplot(121),imshow(J1);subplot(122),imshow(J2);figure,subplot(121),imshow(J3);subplot(122),imshow(J4);figure,subplot(121),imshow(J5);subplot(122),imshow(J6);结果:三幅图片分别为高斯噪声滤波,盐椒噪声滤波,乘法噪声滤波后的结果,左为[3,3]中指滤波,右边为[5,5]中值滤波7.代码:laplaceI=rgb2gray(imread('F:/XL/RR.jpg'));subplot(1,2,1);imshow(I);title('原图');I=double(I);H=[0-10;-15-1;0-10];J=conv2(I,H,'same');I=rgb2gray(imread('F:/XL/RR.jpg'));[H,W]=size(I);M=double(I);J=M;fori=2:219forj=2:219J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];end;end;subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(J);title('laplace');priwitt[I,map]=imread('F:/XL/RR.jpg');[H,W]=size(I);M=double(I);J=M;fori=2:219forj=2:219J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+M(i,j+1)-M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i+1,j-1)-M(i-1,j-1)+M(i+1,j)-M(i-1,j)+M(i+1,j+1)-M(i-1,j+1));end;end;subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(uint8(J));title('Prewitt处理后');Sobel:[I,map]=imread('F:/XL/RR.jpg');[H,W]=size(I);M=double(I);J=M;fori=2:219forj=2:219J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));end;end;subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(uint8(J));title('sobel')加噪声后的代码:I=rgb2gray(imread('F:/XL/RR.jpg'));I1=imnoise(I,'gaussian');[H,W]=size(I1);M=double(I1);J=M;fori=2:219forj=2:219J(i,j)=4*M(i,
本文标题:密码学报告3
链接地址:https://www.777doc.com/doc-3277711 .html