将图片转换成HSV,手动调节阈值进行颜色提取;
结果图:
显示代码:
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
Color Detecction /
void main() {
string path = "Learn-OpenCV-cpp-in-4-Hours-main\\Resources\\lambo.png";
Mat img = imread(path),imgHSV,mask;
int hmin = 0, smin = 110, vmin = 153;
int hmax = 19 ,smax = 240, vmax = 255;
cvtColor(img, imgHSV,COLOR_BGR2HSV);
namedWindow("Trackbars", (640, 220));
createTrackbar("Hue Min", "Trackbars", &hmin, 179);
createTrackbar("Hue Max", "Trackbars", &hmax, 255);
createTrackbar("Sat Min", "Trackbars", &smin, 255);
createTrackbar("Sat Max", "Trackbars", &smax, 255);
createTrackbar("Val Min", "Trackbars", &vmin, 255);
createTrackbar("Val Max", "Trackbars", &vmax, 255);
while (true) {
Scalar lower(hmin, smin, vmin);
Scalar upper(hmax, smax, vmax);
inRange(imgHSV, lower, upper, mask);
imshow("Image", img);
imshow("imgHSV", imgHSV);
imshow("imgMask", mask);
waitKey(1);
}
destroyAllWindows();
}