如何解决测量嘈杂和曝光不足图像上的车道或条纹
我的任务是使用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 举报,一经查实,本站将立刻删除。