问题描述
我的任务是使用C ++测量严重变化,经常嘈杂和曝光不足的图像上的车道或条纹。输入图像的示例以及应测量的示例如下:
An example of what should be measured on images provided
到目前为止,我已经尝试了几种使用OpenCV的方法。第一个基本上包括以下步骤:
过滤,背景替换->自适应阈值->细化-> HoughLinesP->然后过滤和合并线。
请参见下面的插图图像:
第二种方法包括搜索带有SURF的短条纹的起点并沿长线向左和向上移动。
请参见下面的插图图像,注意SURF是在原始半色调图像上完成的:
我尝试的第三种方法:对帧进行傅立叶变换-图像片段(获得4维矩阵),然后使用PCA查找基本图案。在下面得到此结果:
不确定如何处理该PCA输出。尝试使用原始图像使用adaptiveThreshold选择线,然后根据此阈值和PCA结果教导多层感知器,以便产生“精炼”阈值。尝试选择参数以清除阈值,以便进行进一步处理-偶尔可以使用,但是结果非常不稳定。
不幸的是,以上所有方法仅适用于少数选定的“好”图像。
我认为ML方法是必经之路。不幸的是,我只有很少的图像需要学习。
使用ML方法,至少要开始时还是要提一些建议:看起来它属于细分任务区域。在遵循此路线时,我是否需要选择包含所测线段的整个区域,然后使用其他方法进行分割?还是有可能/可能是同时检测被测段?
非常感谢您提出解决此任务的建议。
一些测试源图像可以在这里找到:github.com/aliakseis/detect-lines/tree/master/images
请在这里找到更新:https://github.com/aliakseis/detect-lines任何建议将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)