【发布时间】:2016-03-15 09:25:10
【问题描述】:
我正在使用 opencv 围绕一个非常详细的对象绘制轮廓。我可以做到,但是不同的图像需要不同的低端阈值,这需要我尝试不同的低端阈值才能正确。有没有办法让这个过程自动化?
目前,我正在寻找这样的阈值:
thresh = cv2.threshold(image, 230, 255, cv2.THRESH_BINARY)[1]
值 230 不是常数。它针对不同的图像而变化。
【问题讨论】:
-
你试过Otsu估计阈值吗?
-
是的,在我的情况下它不起作用。除非我做错了。我正在尝试检测青光眼的杯子和圆盘,但使用 Otsu 可以检测到整个青光眼本身。
-
啊,好吧有道理。可以使用 Otsu 的方法进行multi-level thresholding。否则,您可以分享示例图像吗?
-
我假设您无法更改设置,因此视野内的感兴趣区域更大?您至少可以使用原始数据,以便 jpg 颜色压缩不会伤害您吗?图像超级嘈杂。由于红色通道过饱和,您还应该减少曝光时间。您的图像中有 3 个通道,但只有 2 个带有有用的信息。
标签: python opencv image-processing