我正在研究 OpenCV。现在我很困惑以下问题。
代码如下:
Mat img = imread("...");
Mat imgHSV;
Mat imgThresholded;
cvtColor(img, imgHSV, COLOR_BGR2HSV);
inRange(imgHSV, Scalar(150, 50, 75), Scalar(179, 255, 255), imgThresholded);
现在,我得到一个处理过的图像 imgThresholded。这个 imgThresolded 是在 RGB 颜色空间还是 HSV 颜色空间中?
根据 documentation ,
void inRange(InputArray src, InputArray lowerb, InputArray upperb,OutputArray dst)
dst – output array of the same size as src and CV_8U type
这意味着对于 3 channel 输入图像,输出将是单 channel 图像,在阈值处理的情况下,输出是只有白色 (255) 和黑色 (0) 像素的二值图像,格式仅为 CV_8U .
我是一名优秀的程序员,十分优秀!