Java opencv inRange阈值处理功能使我的图像成为三个不同的图像?

时间:2017-05-11 01:38:13

标签: java c++ swing opencv

我正在使用java opencv,这是我正在执行的行。

Imgproc.cvtColor(originalImage, hsvImage, Imgproc.COLOR_BGR2HSV);
Core.inRange(hsvImage, low, high, thresholdImage);

低和高是一些标量值(每个大小为3)。所以我的原始图片是3个频道,但我的thresholdImage只有一个频道,为什么?因此,当我尝试显示thresholdImage时,我会在JFrame中收到三张小图片。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

事实证明,Core.inRange将第二个参数(Mat)更改为单个通道图像。因此,为了获得3个频道,我需要使用Imgproc.cvtColor函数将其重新转换回3个频道。