我在 android 中使用 opencv 库进行图像处理过程。问题是当我对图像使用 canny 函数时。这是我使用 canny 的代码:
Imgproc.Canny(ImageMat, ImageMat, 0.4, 0.5);
我使用低阈值 0.4 和 0.5 作为高阈值,但图像的结果并不好。我知道我必须更改低阈值和高阈值才能获得良好的结果,但这也必须是其他图像的不同阈值。如何获得该精明过程的动态阈值?
我的项目是 android 上的叶子识别。对不起我的英语不好。
最佳答案
据我所知,唯一比较自动的阈值化方法可能是Otsu手术。您可以在 channel 选择和强度映射(通常是非线性的)而不是阈值试验上投入更多精力。这样做的目的是最大化你的对象和背景之间的差异,这使得阈值更容易和更健壮。为了达到这个目的,您可能需要检查您的叶子图像数据库并大致了解叶子和背景的强度范围。
关于Android:如何使用opencv获得良好的canny边缘检测的高低阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671016/