0
我已经加载图像gray sclae
,我知道我需要使用阈值来对其进行二值化。但如何在Java中做到这一点?Java OpenCV:如何将彩色图像转换为黑白图像?
Mat imageMat = Imgcodecs.imread(picDir + "color_console.tif",
Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);
//then what API?
我已经加载图像gray sclae
,我知道我需要使用阈值来对其进行二值化。但如何在Java中做到这一点?Java OpenCV:如何将彩色图像转换为黑白图像?
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
函数的文档是here。 THRESH_BINARY
和THRESH_BINARY_INV
模式适用于二值化。
例如:
Mat binarized; threshold(imageMat, binarized, 100, 255, THRESH_BINARY);
如果结果不满意,您可以尝试adaptivehreshold
function。它更仔细地执行阈值,但它在计算上相当昂贵。 Java的文档是here。