数字图像处理课设基于MATLAB的复杂图像目标提取_第1页
数字图像处理课设基于MATLAB的复杂图像目标提取_第2页
数字图像处理课设基于MATLAB的复杂图像目标提取_第3页
数字图像处理课设基于MATLAB的复杂图像目标提取_第4页
数字图像处理课设基于MATLAB的复杂图像目标提取_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、华北水利水电大学North China University of Water Resources and Electric Power 数字图像处理课设 题目 基于MATLAB的复杂图像目标提取 课程名称 数字图像处理 学 院 信息工程学院 专 业 通信工程 指导老师 许丽 完成时间 2017.10.27 目录一、 设计要求1二、 设计原理和方案11、 图像直方图12、 图像灰度23、 低通滤波24、 边缘检测2三、 设计步骤及结果31、 图像的读取的存储32、 彩色图像的灰度化33、 图像的滤波34、 图像的边缘检测45、 不同颜色目标图像的提取56、 相同颜色的目标图像的提取5四、 问题

2、解决及体会7五、 参考文献8附录8摘要在我们日常生活中,由于工作等各种需要,我们往往会对图像进行各种处理,其中就包括对复杂图像目标提取,当然有很多的处理方法本次主要是在用MATLAB对图像做基本的处理来提取目标图像特征。本次课设用MATLAB处理时,首先对图片进行基础的处理,包括彩色图像转化为灰色图像的处理、二值处理、直方图的分析、滤波处理以及利用各种算法对图像进行边缘化处理等操作。然后采用合适的方法对图像目标做最终的提取。在本次课设中,我采用的是利用MATLAB生成图片的直方图,然后从直方图上得出不同颜色所对应的灰度,再灰度对不同颜色的图像分别进行提取。但是此方法有一个很大的局限性,就是无法

3、处理相同颜色的目标图像,因此经过对资料的查阅和老师的帮助,我找到了解决方法,对相同颜色的图像进行区域划分,然后再对处于不同区域的目标图像分别进行提取。关键词:图像目标提取 MATLAB 灰度 区域提取1、 设计要求自选一幅图像,确定要选择的目标区域,编写合适的程序,然后用MATLAB或VC+Opencv对目标图形进行提取,要求对图像做基础的处理,包括图像的读取,存储,去噪,边缘检测等触及处理。2、 设计原理和方案在实际图像处理中,一般情况下我们只是注意到图像中那些我们感兴趣的目标,因为只有这部分也就是我们注意到的有用的目标物才能为我们提供高效、有用的信息。而这些目标一般又都对应着图像中某些特定

4、的、具有独特性质的区域。为了把这些有用的区域提取出来供我们人类使用,我们对图像的提取做了很多的研究。本次课设采用的原理主要是用MATLAB处理,首先对图片进行基础的处理,包括彩色图像转化为灰色图像的处理、二值处理、直方图的分析、滤波处理以及利用各种算法对图像进行边缘化处理等操作。然后采用合适的方法对图像目标做最终的提取。采用的是利用MATLAB生成图片的直方图,然后从直方图上得出不同颜色所对应的灰度,再灰度对不同颜色的图像分别进行提取。对相同颜色的图像进行区域划分,然后再对处于不同区域的目标图像分别进行提取。从而达到课设要求1、 图像直方图图像直方图能很直观的反映出图像的特征,灰度,强度等,并

5、且在处理时很容易实现,且具有图像平移、旋转、缩放不变性等众多优点,在很多方面都得到了广泛地应用,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类。直方图图形化显示不同的像素值在不同的强度值上的出现频率,对于灰度图像来说强度,范围为0255之间,对于RGB的彩色图像可以独立显示三种颜色的强度直方图。强度直方图是用来寻找灰度图像二值化阈值常用的方法。若一幅灰度图像的直方图显示为两个波峰,则二值化阈值应该是这两个波峰之间的某个灰度值。同时强度直方图是调整图像对比度的重要依据直方图实现方法:对一幅灰度图像从上到下,从左到右扫描每个像素值,在每个灰度值上计算像素数目,不同的灰度值,并以这些数据为

6、基础完成图像直方图的绘制。从而得出目标图像的特征。2、 图像灰度把白色与黑色之间按对数关系分为若干等级,称为灰度。灰度共分为256阶。并且在应用中我们通常采用的是用灰度表示的图像称作灰度图,因为从灰度图像上我们可以很清晰地看出图像的各种特征。图像通常是由红色绿色蓝色三个通道组成的。并且这三种颜色使用以灰度显示的,用不同的灰度色阶来表示各颜色在图像中的比重。灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以表示任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜

7、色;灰度图像在黑色与白色之间还有许多级的颜色深度。并且在实验中对灰度图像的处理可以很大程度上提高运算的速率以及效果。3、 低通滤波图像的滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,在图像的处理中占据非常重要的地位,因为它的处理将直接影响到后续图像处理和分析的有效性和可靠性。而本次试验中采用的是中值滤波法对图像进行处理。中值滤波自产生便被广泛应用于各种对噪声的处理中。中值滤波器是基于次序统计完成信号恢复的一种典型的非线性滤波器,其基本原理是把图像或序列中心点位置的值用该域的中值替代,并且具有运算简单、速度快、除噪效果好等优点。并且在应用中中值滤波于得到了发展和改进,便是现在所

8、称的标准中值滤波,标准中值滤波算法的基本思想是将滤波窗口内的最大值和最小值均视为噪声,用滤波窗口内的中值代替窗口中心像素点的灰度,在一定程度上抑制了噪声。实际上在一定邻域范围内具有最大或最小灰度值这一特性的,除了噪声点,还包括图像中的边缘点、线性特征点等。因此很大程度上提高了图像处理和分析的有效性和可靠性。4、 边缘检测综合分析本次实验采取的是Prewitt算子边缘检测,Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个

9、检测水平边缘,一个检测垂直边缘。对数字图像f(x,y),Prewitt算子的定义如下:G(i)=|f(i-1,j-1)+f(i-1,j)+f(i-1,j-1)-f(i+1,j-1)+f(i+f(i+1,j)+1)|G(j)=|f(i-1,j+1)+f(i,j+1)+f(i+1j+1)-f(i-1,j-1)+f(i,j-1)+f(i+,j-1|则 P(i,j)=maxG(i),G(j)或 P(i,j)=G(i)+G(j)3、 设计步骤及结果1、 图像的读取的存储相关程序:M=imread('G:3.png');subplot(2,3,1);imshow(M,);title(

10、9;原彩色图');imwrite(M,'G:4.png');2、 彩色图像的灰度化相关程序:M=rgb2gray(M);3、 图像的滤波相关程序:H=fspecial('average',5);F1=double(filter2(H,M);subplot(2,3,2);imshow(F1,);title('均值低通滤波');4、 图像的边缘检测相关程序:M=imread('G:3.png');K=rgb2gray(M);subplot(2,3,3),imhist(K);M1=-1,-1,-1;0,0,0;1,1,1;M2=

11、-1,0,1;-1,0,1;-1,0,1;N1=filter2(M1,K);N2=filter2(M2,K);K1=double(N1);K2=double(N2);M=(abs(K1) +abs(K2);figure,imshow(uint8(M)title('Prewitt算子边缘检测');5、 不同颜色目标图像的提取相关程序:123 201 196 218分别为彩色图像的绿色、粉色、黄色以及橙黄的灰度值。num=123 201 196 218;m,n=size(N);for I1=1:4 D=zeros(m,n); D=D+255; for i=1:m for j=1:n

12、 if N(i,j)=num(I1) D(i,j)=N(i,j); end end end subplot(2,2,I1) imshow(D,);end6、 相同颜色的目标图像的提取采用对目标区域进行划分,然后依据不同的区域对目标图像进行提取。图像读取:图像划分区域:图像提取:4、 问题解决及体会通过这次课程设计,知道自己在这一课程上存在的不足,另外也从这个课程设计中学到了很多东西,通过对程序的编写以及MATLAB的具体操作,提高了自己编写程序的能力,并且对MATLAB的操作更加熟练,以及一些对图片处理的基本操作,包括彩色图像转化为灰色图像的处理、二值处理、直方图的分析、滤波处理以及利用各种算

13、法对图像进行边缘化处理等操作。自己的能力和知识面都得到了很大的提高。但是在整个过程中遇到了一些困难,查阅了资料,也得到了老师和同学的帮助,不过每一次的问题的解决都是一个大的进步,对于参数的选取最让我觉得困难,首先是闭运算的矩阵的选取,还有根据图像对灰度的估计与精确从而利用不同颜色的灰度进行目标图像的提取,还有我之前设想的是根据不同颜色的图像的不同灰度进行目标图像的提取,实验也得到了很好的结果,但是面对同学提出的对于相同颜色的图像该如何进行提取的问题。我发现了问题所在,但由于时间的限制,所以只能在源程序上进行修改,在老师的帮助下,我试着编写程序将相同的图像进行分区域,编号,然后再对不同区域的目标

14、图像进行提取。最后成功的解决了问题。此次的课程设计是一个让自己得到很大提高的一个课程,可以让自己丛中学到很多,在课程设计过程中不免会出现不少问题,如果对这些知识足够了解就能很到找到问题原因,并且轻松解决,所以掌握一定的知识很重要,另外也要多实践,在实践中检验自己,提高自己的动手能力,课程设计使我充分体会到了解决问题得到结果后的那种喜悦。也从中收获到了很多知识,也为接下来的学习打下了良好的基础。5、 参考文献【1】姚敏,数字图像处理,机械出版社【2】李俊辉,数字图像处理,清华大学出版社【3】贺兴华,周媛媛,王继阳,MATLAB图像处理,人民邮电出版社【4】刘卫国,MATLAB程序设计及应用 高等

15、教育出版社附录:不同颜色目标图像的提取总程序:clcclear all;M=imread('G:3.png');subplot(2,3,1);imshow(M,);title('原彩色图');M=rgb2gray(M); N=M; imwrite(M,'G:4.png'); H=fspecial('average',5);F1=double(filter2(H,M);subplot(2,3,2);imshow(F1,);title('均值低通滤波'); M=imread('G:3.png');K=r

16、gb2gray(M);subplot(2,3,3),imhist(K);M1=-1,-1,-1;0,0,0;1,1,1;M2=-1,0,1;-1,0,1;-1,0,1;N1=filter2(M1,K);N2=filter2(M2,K);K1=double(N1);K2=double(N2);M=(abs(K1) +abs(K2);figure,imshow(uint8(M)title('Prewitt算子边缘检测'); figurenum=123 201 196 218;m,n=size(N);for I1=1:4 D=zeros(m,n); D=D+255; for i=1:m for j=1:n if N(i,j)=num(I1) D(i,j)=N(i,j); end end end subplot(2,2,I1) imshow(D,);end相同颜色的目标图像的分区域提取总程序:clcclearclose allM= imread('G:5.png');M=im2bw(M);figure(1);imshow(M);M=M;figure(2);imshow(M);L, num = bwlabel(M);STATS1=regionprops(L,'Perimeter'); ahe=si

温馨提示

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

评论

0/150

提交评论