首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

菜鸟请问,利用opencv进行canny边缘检测和hough直线检测的有关问题

2012-08-08 
初学者请教,利用opencv进行canny边缘检测和hough直线检测的问题?目的:从直线集合中找出离canny边缘线最近

初学者请教,利用opencv进行canny边缘检测和hough直线检测的问题?


目的:从直线集合中找出离canny边缘线最近的直线,便于下一步处理。
问题:1.canny运算后得到边缘,怎样得到所有边缘线的坐标和像素值,放到数组中?
2. 怎样从hough得到的直线集合中判断哪些线离canny边缘最近?
删除多余的直线。


[解决办法]
1.边缘检测结果是二值图,查看像素是0是1就知道边缘坐标了
2.hough检测得到的是(k,b)表示的直线,边缘肯定是曲线.他们的距离你的想个办法来定义,才能写程序.比如边缘点到直线的平均距离;或者(k,b)垂线距离边缘最近的作为距离
[解决办法]
你应该起码说清楚你要的和边缘线距离最近是个什么情况,csdn能上图。
假如你目的就是要再图像中保存一条直线,那就无需归类。
否则canny得到的边缘很多很杂,你应该要将边缘归类,否则针对那么多边缘定义一个最近是困难的。具体来说就是对于哪些边缘来说,这条直线是最近的就保留,或者是要查找离某个轮廓最近的直线。
[解决办法]
第2个问题可以化为如何计算一个区域离开一条直线的距离。

如果做到这一点,计算所有hough变换所得到的直线与区域的距离,就可求出哪一个距离最短了。

而为了计算一个区域A离开一条直线L的距离,一般地说,需要考察区域A的边界上每一点P离开直线L的距离。

而一点P离开由AB两点决定的直线L=AB的距离是容易算的。

如果线很多,整个工作有一定的计算量。但给出了具体的情况,往往可以找到窍门进行简化。

[解决办法]
距离计算见:
http://zh.wikipedia.org/wiki/%E8%B7%9D%E7%A6%BB

热点排行