matlab中如何把边缘检测出来的图像进行直线拟合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中如何把边缘检测出来的图像进行直线拟合相关的知识,希望对你有一定的参考价值。
是不是还要先把检测出的图像的点提取出来?如何提取?用CANNY可以吗?
用sobel,canny算子都可以提取出边缘;提取出边缘再进行im2bw二值化,得到二值化后的0,1图像;
1的图像本质上是由离散的点构成,将离散的点的x,y坐标找出,
可以用find命令,例如[x,y]=find(I==1);
最后用cftool曲线拟合工具箱,拟合出所有的x,y的坐标点;
大致这么个思路,往这方面使劲,基本上就可以搞定. 参考技术A 检测出边缘后,使用bwmorph函数细化得到边缘骨架,然后用Hough变换检测直线,程序比较长,可以参看数字图像处理(MATLAB版)张德丰编著
或者数字图像处理(MATLAB版)冈萨雷斯编著 阮秋奇 译 等书。本回答被提问者采纳 参考技术B 检测出边缘后,使用bwmorph函数细化得到边缘骨架,然后用Hough变换检测直线,程序比较长,可以参看数字图像处理(MATLAB版)张德丰编著
或者数字图像处理(MATLAB版)冈萨雷斯编著 阮秋奇 译 等书。 参考技术C 可以使用bwboundaries提取边缘节点曲线,然后用样条函数进行曲线拟合插值。 参考技术D 检测出边缘后,使用bwmorph函数细化得到边缘骨架,然后用Hough变换检测直线,程序比较长,可以参看数字图像处理(MATLAB版)张德丰编著
或者数字图像处理(MATLAB版)冈萨雷斯编著 阮秋奇 译 等书。
以上是关于matlab中如何把边缘检测出来的图像进行直线拟合的主要内容,如果未能解决你的问题,请参考以下文章