c – 一般的OpenCV线路检测
我是opencv的新手(在c中),我正在尝试实现线路检测.
我有一张有几行的图片,我正在尝试确定线条之间的距离.我知道有Hough,Canny等,但是如何获得不同线的坐标来计算线之间的距离?我应该使用opencv轮廓函数还是有更好的方法?我不需要完整的代码示例,但有人能告诉我完成工作的最佳方法吗? 解决方法
线检测经常导致使用Hough变换,Canny边缘检测器和轮廓检测仅在需要时用作方便的预处理器.
如果您有平行线,请使用 void HoughLines(InputArray image,OutputArray lines,double rho,double theta,int threshold,double srn=0,double stn=0 ) 用于检测第二个参数将包含检测的行:
这意味着两条线之间的距离应为abs(rho1-rho2),即距离是第一列线中像素值之间的绝对差值. (注意:方法应该是CV_HOUGH_STANDARD!) 对于非平行线,您必须定义您认为的距离,但OpenCV仍然可以为您提供每个检测到的线的端点坐标.
您还可以在已安装的OpenCV的文档中找到opencv_tutorials.pdf中的教程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |