我一直在尝试使用OpenCV/Python检测水的边缘,得到的结果相当不准确,也没有健壮性。 这就是我目前所取得的成就: Original Image, output image
我目前正在做的是设置一些变量(高斯模糊的水平,用于Canny边缘检测的sigma,以及测量的水平在每个点之间可以改变的最大偏差),执行“自动”Canny边缘检测(测量中值像素强度并用于形成上下边界),然后从左下角向上移动以找到第一个“白色”像素。这是在整个帧长度的x间隔内完成的。在
点的平均y值是计算出来的。然后测试每个点,看它是否偏离平均像素太远,偏差限制在前面设置。剩下的点在图像上绘制为蓝线。在每一帧记录绘制像素的平均值。在
在30帧之后,计算平均值的平均值并绘制为红线,然后假设其为“真实”水面高度。在
有人有什么更好的办法吗?什么能让水边更突出?这种方法对我所记录的大多数镜头都有效,但效果不佳。在
提前谢谢。在
我也曾研究过类似的问题,希望这些建议能对您有所帮助:
也可以考虑改变边缘检测算法。在
相关问题 更多 >
编程相关推荐