C++ OpenCV 基于HSV颜色分割区域、获取目标
读取图片
// An highlighted block
Mat img = imread("E:/Data_image/螺丝-线1/wire.bmp", 3);
hsv 颜色范围
//黑
Scalar black_scalarL = Scalar(0, 0, 0);
Scalar black_scalarH = Scalar(180, 255, 60);
//黄
Scalar yellow_scalarL = Scalar(11, 43, 46);
Scalar yellow_scalarH = Scalar(34, 255, 255);
//红
Scalar red_scalarL_1 = Scalar(0, 43, 46);
Scalar red_scalarH_1 = Scalar(8, 255, 255);
//蓝
Scalar blue_scalarL = Scalar(100, 150, 46);
Scalar blue_scalarH = Scalar(124, 255, 255);
通过inrange函数找到对应颜色范围的mask区域
//黑
inRange(imghsv, black_scalarL, black_scalarH, black_mask);
//红
inRange(imghsv, red_scalarL_1, red_scalarH_1, red_mask);
//蓝
inRange(imghsv, blue_scalarL, blue_scalarH, blue_mask);
//黄
inRange(imghsv, yellow_scalarL, yellow_scalarH, yellow_mask);