查看完整版本 : [MATLAB图像处理] 求hough 变换程序
yangyi2000
2009-04-22, 16:20
求助关于hough变换matlab的程序.
如果你对图像处理的要求不是十分特殊的话,可以考虑采用MATLAB中自带的HOUGH变换函数以及峰值提取函数,具体参考冈萨雷斯写的数字图像处理(MATLAB版)。如果自己写程序,只要有思路就可以,例如:
1,读入图像;
2,获得图像的大小;
3,对图像进行阈值分割变为包含物体轮廓的二值图像;(变为二值图像的原因:HOUGH变换的运算量大,如果对二值轮廓图像处理,显然节省时间)
4,利用FOR循环遍历图像(也可以理解为,对轮廓点的搜索,得到的是轮廓坐标);
5,与此同时设定并初始化HOUGH空间(关于RHO和THETA的空间),
6,设定THETA(即角度的步进),从1到180搜索一遍,同时带入轮廓点的XY坐标,得到RHO值,记录此时的RHO和THETA值,并在HOUGH空间的对应点的位置加一;
7,无论你是提取直线还是提取圆,这个过程都是HOUGH空间累加的过程,找到累加的峰值,那么也就达到了目的。
大致思路就是这样,LZ可以自己动手试试,我自己的课题就涉及这方面的内容,希望能对LZ有帮助。:)
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.