Android:如何使用opencv获得canny边缘检测的良好高低阈值

时间:2013-12-18 23:57:52

标签: android opencv image-processing edge-detection threshold

我在android中使用opencv库进行图像处理过程。问题是我使用canny函数的图像。这是我使用canny的代码:

Imgproc.Canny(ImageMat, ImageMat, 0.4, 0.5);

我使用低阈值0.4和0.5作为高阈值,但图像的结果不好。我知道我必须改变低和高阈值才能获得好结果,但对于其他图像来说也必须是不同的阈值。如何获得该canny过程的动态阈值? 我的项目是android上的叶子识别。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

据我所知,唯一相对自动的阈值处理方法可能是Otsu操作。您可以在通道选择和强度映射(通常是非线性)上花费更多精力,而不是进行阈值试验。这样做的目的是最大化对象和背景之间的差异,这使得阈值处理更容易,更健壮。为了达到这个目的,您可能需要检查您的叶子图像数据库,并大致了解叶子和背景的强度范围。