【发布时间】:2019-10-04 15:19:04
【问题描述】:
我是 opencv 的初学者,我尝试像 GIMP 应用程序那样对图像进行阈值处理,但我不知道 GIMP 阈值算法。我在 opencv 中尝试“阈值”方法,但结果不同。 谁能帮帮我?
我使用 opencv-3.4.3。
Mat image = imread("myimage.png");
Mat ths;
threshold(image, ths, 180, 255, THRESH_BINARY);
imwrite("ths-image.png", ths);
opencv 'threshold' 和 GIMP 'threshold' 结果不一样。
编辑#1
输入图像是: Input file
转换为 HLS HLS file
带有threshold value = 210的GIMP阈值图像
GIMP result
将 HLS 转换为灰色以获得进程 OpenCV 阈值 HLS2Gray
OpenCV THRESH_BINARY 和 threshold value = 210
TRESH_BINARY
OpenCV THRESH_TRUNC 和 threshold value = 210
THRESH_TRUNC
OpenCV THRESH_TOZERO 和 threshold value = 210
THRESH_TOZERO
【问题讨论】:
-
从stackoverflow.com/a/56164082/2836621 获取灰度图像并尝试更改程序中的
180,看看是否可以解决。 -
myimage.png是单通道图片还是多通道图片? -
输入图像是灰度的。