我正在使用java opencv,这是我正在执行的行。
Imgproc.cvtColor(originalImage, hsvImage, Imgproc.COLOR_BGR2HSV);
Core.inRange(hsvImage, low, high, thresholdImage);
低和高是一些标量值(每个大小为3)。所以我的原始图片是3个频道,但我的thresholdImage
只有一个频道,为什么?因此,当我尝试显示thresholdImage
时,我会在JFrame
中收到三张小图片。如何解决这个问题?
答案 0 :(得分:1)
事实证明,Core.inRange
将第二个参数(Mat
)更改为单个通道图像。因此,为了获得3个频道,我需要使用Imgproc.cvtColor
函数将其重新转换回3个频道。