如何用OpenCV同时检测一幅图中的蓝色和绿色区域?
如何用OpenCV同时检测一幅图中的蓝色和绿色区域?检测完成后将蓝色和绿色区域的二值图像输出!要同时检测并输出二值图像,不是要分开的单一检测一种颜色。
int main()
{
Mat g_srcImage = imread("3.bmp");
Mat g_dst1;
Mat g_dst2;
Mat g_dst;
Mat hsv = Mat::zeros(g_srcImage.cols,g_srcImage.rows,CV_8UC3);
// 高斯模糊
GaussianBlur(g_srcImage,g_srcImage,Size(3,3),0,0);
// 转换为HSV,hue色度,saturation饱和度,value纯度
cvtColor(g_srcImage, hsv, CV_BGR2HSV );
//通过HSV范围定量进行颜色的检测
inRange(hsv,Scalar(33,43,46),Scalar(77,255,255),g_dst1);
inRange(hsv,Scalar(100,43,46),Scalar(124,255,255),g_dst2);
//Mat mask=inRange(hsv,lower_yellow,upper_yellow);
namedWindow("1",WINDOW_NORMAL);
namedWindow("2",WINDOW_NORMAL);
namedWindow("3",WINDOW_NORMAL);
namedWindow("4",WINDOW_NORMAL);
imshow("1",g_srcImage);
imshow("2",g_dst1);
imshow("3",g_dst2);
waitKey();
return 0;
}
单一颜色检测我知道怎么做,如何同时检测出两种颜色并将他们的二值图像输出到一张图中呢?