《实验五图像分割及目标检测.docx》由会员分享,可在线阅读,更多相关《实验五图像分割及目标检测.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验五图像分割及目标检测一、实验名称:图像分割及目的检测二、实验目的:1、了解图像边缘检测及图像区域分割的目的、意义和手段。2、熟悉各种经典的边缘检测算子、图像分割方法及其基本原理。3、熟悉各种图像特征表示与描绘的方法及基本原理。4、熟练把握利用matlab工具实现各种边缘检测的代码实现。5、熟练把握利用matlab工具实现基本阈值分割的代码实现。6、通过编程和仿真实验,进一步理解图像边缘检测、图像分割及其在目的检测、目的识别及跟踪测量应用中的重要性。三、实验原理及步骤:1、利用Soble算子进行图像的边缘检测1原理与步骤数字图像的边缘一般利用一阶/二阶差分算子进行检测。常用的差分算子包括:R
2、oberts算子穿插对角算子,Prewitt算子一阶,Sobel算子一阶,Laplacian算子二阶,LoG算子二阶及Canny边缘检测算法等。其中,Soble算子为常见的一类梯度算子一阶梯度算子。其x,y方向的梯度算子分别为:一幅数字图像I如图1与Sx和Sy分别做卷积运算后可采用多种方式,如conv2,filter2及imfilter,能够求得x,y两个方向的梯度图像Dx,Dy,然后,能够计算得到原图像的梯度幅度,即或:2进一步执行梯度图像D的二值化处理建议采用Otsu阈值,可以考虑其他阈值分割,检测图像的二值化边缘。3对于与步骤同样的输入图像I,利用matlab工具的edge(I,sobl
3、e)函数进行处理。试比拟处理结果与步骤2的得到的结果的差异,并分析存在差异的原因。4画出原图像、原图像的Dx,Dy图,幅度图D及最后的二值化边缘检测结果图。2、数字图像中目的区域的形心计算1按如下公式计算原图像图2的质心。2对图2中的黑色形状目的进行阈值分割,得到二值化的图像;图2原始图像240*2403计算目的形状的面积以像素表示;4计算图中黑色形状目的的形心位置,并在原图上进行位置标记可用红色小圆圈。其中,M,N为图像尺寸。x,y为像素图像平面上的坐标。5画出原图像、原图上叠加质心标记图;分割后的二值化图及分割图上叠加形心标记图。四、程序框图五、程序源代码:1、利用Soble算子进行图像的
4、边缘检测clc;clf;clearall;I=imread(C:UsersCancer_5kaiDesktoplena.jpg);I=double(I);Sx=-101-202-101;Sy=-1-2-1000121;Dx=conv2(I,double(Sx),same);Dy=conv2(I,double(Sy),same); m,n=size(I);D=sqrt(Dx.2+Dy.2);T=graythresh(D);T=T*255;fori=1:mforj=1:nifD(i,j)TD1(i,j)=1;elseD1(i,j)=0;endendendBW2=edge(I,sobel);subp
5、lot(231),imshow(I,);title(原图像)subplot(232),imshow(Dx,);title(Dx图)subplot(233),imshow(Dy,);title(Dy图)subplot(234),imshow(D,);title(幅度图)subplot(235),imshow(D1,);title(二值化边缘检测结果图)subplot(236),imshow(BW2,);title(sobel边缘检测结果图)2、数字图像中目的区域的形心计算clc,clf,clearall;A=imread(C:UsersCancer_5kaiDesktoparrow.jpg);s
6、ubplot(221),imshow(A);title(原图像);A=double(A);m,n=size(A);forj=1:nfori=1:mXc(i,j)=i*A(i,j);Yc(i,j)=j*A(i,j);endendXc=sum(sum(Xc)/sum(sum(A);Yc=sum(sum(Yc)/sum(sum(A);subplot(222),imshow(A,);holdon;plot(Yc,Xc,or);title(原图上叠加质心标记图);T=graythresh(A)*255;S=0fori=1:mforj=1:nifA(i,j)TA1(i,j)=1;elseA1(i,j)=0
7、;S=S+1;endendendSsubplot(223),imshow(A1,);title(分割后的二值化图);A2=1-A1;fori=1:mforj=1:nx1(i,j)=i*A2(i,j);y1(i,j)=j*A2(i,j);endendxc=sum(sum(x1)/sum(sum(A2);yc=sum(sum(y1)/sum(sum(A2);subplot(224),imshow(A1,);holdon;plot(yc,xc,or);title(分割图上叠加形心标记图);六、实验结果:1、利用Soble算子进行图像的边缘检测如图可看出:二值化边缘检测比soble边缘检测图像轮廓更明
8、晰些2、数字图像中目的区域的形心计算目的形状的面积为:7850个像素七、考虑题1、利用梯度算子与图像进行卷积运算后,为什么还需要给定阈值进行二值化处理?答:利用梯度算子与图像进行卷积运算后得到的只是图像像素灰度变化的梯度图,经过二值化处理后才能提取出有用的图像边界。2、Laplacian算子检测边缘为什么会产生双边效果?为什么不能检测出边的方向。答:Laplacian算子实际是对图像求二阶导数,二阶导数在灰度斜坡和灰度台阶过渡处产生双边效应。3、相对其他边缘检测算子,Canny边缘检测算法的主要优势体如今哪里?答:1低失误概率、2高位置精度、3对每个边缘有唯一的响应。八、总结及心得体会通过学习实践,了解了图像边缘检测及图像区域分割的目的、意义和手段,熟悉了各种经典的边缘检测算子、图像分割方法及其基本原理,熟悉了各种图像特征表示与描绘的方法及基本原理,把握了利用matlab工具实现各种边缘检测和基本阈值分割的的代码实现,通过编程和仿真实验,进一步理解了图像边缘检测、图像分割及其在目的检测、目的识别及跟踪测量应用中的重要性。