数字图像处理及应用(MATLAB)第4章习题答案

数字图像处理及应用(MATLAB)第4章习题答案

ID:37470239

大小:169.50 KB

页数:8页

时间:2019-05-24

数字图像处理及应用(MATLAB)第4章习题答案_第1页
数字图像处理及应用(MATLAB)第4章习题答案_第2页
数字图像处理及应用(MATLAB)第4章习题答案_第3页
数字图像处理及应用(MATLAB)第4章习题答案_第4页
数字图像处理及应用(MATLAB)第4章习题答案_第5页
资源描述:

《数字图像处理及应用(MATLAB)第4章习题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章:习题与思考题参考答案4-1.什么是图像分割?什么是边缘检测?实现方法有哪些?图像分割是把图像分成若干个有意义区域的处理技术。从本质上说是将各像素进行分类的过程。图像分割的方法有:基于阈值选取的图像分割、基于区域的图像分割以及基于边缘检测的图像分割。边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。边缘检测的方法:Roberts边缘检测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Robinson边缘检测算子、Laplace边缘检测算子、Canny算子和LOG算4-2

2、.应用MATLAB语言编写实例对Sobel、Prewitt、Roberts、Laplacian-GaussianCanny方法的边缘检测性能进行比较。I=imread('tire.tif');%读入原始灰度图像并显示figure(1),imshow(I);BW1=edge(I,'sobel',0.1);%用Sobel算子进行边缘检测,判别阈值为0.1figure(2),imshow(BW1)BW2=edge(I,'roberts',0.1);%用Roberts算子进行边缘检测,判别阈值为0.1fig

3、ure(3),imshow(BW2)BW3=edge(I,'prewitt',0.1);%用Prewitt算子进行边缘检测,判别阈值为0.1figure(4),imshow(BW3)BW4=edge(I,'log',0.01);%用LOG算子进行边缘检测,判别阈值为0.01figure(5),imshow(BW4)BW5=edge(I,'canny',0.1);%用Canny算子进行边缘检测,判别阈值为0.1figure(6),imshow(BW5)8(a)原始灰度图像(b)Sobel算子检测效果(

4、c)Roberts算子检测效果(d)Prewitt算子检测效果(e)LOG算子检测效果(f)Canny算子检测效果4-3.在灰度阈值法分割中,阈值如何选择?用MATLAB语言编写出相应的程序。阈值的选取方法很多,一般可以分为全局阈值法和局部阈值法两类。每个区域是由许多灰度值相近的像素构成的,物体和背景之间或不同物体之间的灰度值有明显的差别,可以通过取阈值来区分。I=imread('cell.tif');%读入原始图像到I变量subplot(2,2,1),imshow(I),title('原始图像')

5、;Ic=imcomplement(I);%调用imcomplement函数对图像求反色BW=im2bw(Ic,graythresh(Ic));%使用im2bw函数,转换成二值化图像来阈值分割subplot(2,2,2),imshow(BW),title('阈值截取分割后图像');4-4.什么是Hough变换?试述采用Hough变换检测直线的原理。Hough变换检测直线时,为什么不采用y=kx+b的表示形式?霍夫(Hough)变换是一种线描述方法。它可以将图像空间中用直角坐标表示的直线变换为极坐标空间

6、中的点。8利用Hough变换法提取直线的基本原理是:把直线上点的坐标变换到过点的直线的系数域,通过利用共线和直线相交的关系,使直线的提取问题转化为计数问题。因为y=kx+b不能包括斜率无穷大的特殊情况,而常用的直线变换方程为为直线到原点的距离限定了直线的斜率。4-5.区域的周长有不同的表示方法,试用链码表示的方法编写程序实现图像区域的周长。functionbalianma_zhouchang%主函数i=bwperim(imread('circles.png'),8);%求二值图像边界c8=chain

7、code8(i);%生成8方向链码sum1=0;sum2=0;fork=1:length(c8)ifc8(k)==0

8、

9、c8(k)==2

10、

11、c8(k)==4

12、

13、c8(k)==6sum1=sum1+1;elsesum2=sum2+1;endendl=sum1+sum2*sqrt(2)functionout=chaincode8(image)%被调函数,实现8连通链码n=[01;-11;-10;-1-1;0-1;1-1;10;11];flag=1;cc=[];%初始化输出链码[xy]=find(imag

14、e==1);x=min(x);imx=image(x,:);y=find(imx==1,1);first=[xy];dir=7;whileflag==1tt=zeros(1,8);newdir=mod(dir+7-mod(dir,2),8);fori=0:7j=mod(newdir+i,8)+1;tt(i+1)=image(x+n(j,1),y+n(j,2));endd=find(tt==1,1);dir=mod(newdir+d-1,8);cc=[cc,dir];x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。