Черно-белый цвет в тестовом окне
Задача простая, закрасить всю картинку белым цветом, кроме, цветового диапазона который мне необходим:
#include <Windows.h>
#include <filesystem>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
//Создаем окно под скролбары
namedWindow("Control", 0); //create a window called "Control"
int iLowH = 0;
int iHighH = 0;
int iLowS = 0;
int iHighS = 0;
int iLowV = 0;
int iHighV = 0;
//Create trackbars in "Control" window
createTrackbar("LowH", "Control", &iLowH, 179); //Hue (0 - 179)
createTrackbar("HighH", "Control", &iHighH, 179);
createTrackbar("LowS", "Control", &iLowS, 255); //Saturation (0 - 255)
createTrackbar("HighS", "Control", &iHighS, 255);
createTrackbar("LowV", "Control", &iLowV, 255); //Value (0 - 255)
createTrackbar("HighV", "Control", &iHighV, 255);
//Читаем тестовую картинку
cv::Mat hsv, mask;
cv::Mat image = cv::imread("C:\\Users\\Admin\\Desktop\\test.jpg");
while (true)
{
cvtColor(image, hsv, cv::COLOR_BGR2HSV);
cv::inRange(hsv, Scalar(iLowH, iLowS, iLowV), Scalar(iHighH, iHighS, iHighV), mask);
image.setTo(cv::Scalar(0, 0, 0), mask);
cv::imshow("result", mask);
char key = (char)waitKey(30);
if (key == 'q' || key == 27)
{
break;
}
}
return 0;
}
Но, когда я вывожу конечное изображения после манипуляций со скролбарами, в окно выводится черно - белый вариант картинки, какие флаги нужно поставить в функцию cvtColor(image, hsv, cv::COLOR_BGR2HSV);, что картинка была цветная, с полным спектром цветом, которые остались после манипуляций с подбором цветового диапазона?