我已经将图像加载为gray sclae,我知道我需要使用阈值对其进行二值化。但是,如何用Java做到这一点呢?

Mat imageMat = Imgcodecs.imread(picDir + "color_console.tif",
Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);

//then what API?

最佳答案

我建议您阅读有关阈值设置的本教程:http://docs.opencv.org/doc/tutorials/imgproc/threshold/threshold.html

Java中threshold函数的文档是hereTHRESH_BINARYTHRESH_BINARY_INV模式适用于二值化。

例如:
Mat binarized;threshold(imageMat, binarized, 100, 255, THRESH_BINARY);
如果结果不满意,可以尝试adaptivehreshold function。它更仔细地执行阈值处理,但是在计算上非常昂贵。 Java的文档是here

关于opencv - Java OpenCV:如何将彩色图像转换为黑白图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30250950/

10-12 02:09