C++ opencv入门学习3

颜色检测
颜色检测一般在HSV颜色空间上进行,H色度(0,179),S饱和度(0,255),V明度(0,255)

void color_detection(string& path) {
Mat img = imread(path);
Mat hsv_img, mask;
Size size = img.size();
int hmin = 0, smin = 110, vmin = 153;
int hmax = 19, smax = 240, vmax = 255;
cvtColor(img, hsv_img, COLOR_BGR2HSV);
namedWindow(“trackbars”, WINDOW_FREERATIO);
createTrackbar(“hue min”, “trackbars”, &hmin, 179);
while (true) {
Scalar lower(hmin, smin, vmin);
Scalar upper(hmax, smax, vmax);
inRange(hsv_img, lower, upper, mask); //输出一个蒙版,检测在lower和upper之间的颜色
imshow(“trackbars”, mask);
imshow(“img”, img);
waitKey(1);

}
destroyAllWindows();

}

猜你喜欢

转载自blog.csdn.net/qq_33867131/article/details/129118019