块图像检测

时间:2014-12-13 18:55:47

标签: image

我想从像素化图像中检测颜色,然后将特定像素变成不同的颜色?

例如: 像素,B / G / R< 150重新着色为白色。和具有B / G / R的像素> 150到黑色或留下来。

有可能吗?如果有,怎么样?我需要指导。

1 个答案:

答案 0 :(得分:1)

答案是将图像转换为HSV色彩空间!

您可以使用inRange功能从图像中屏蔽蓝色,如下所示:

Mat mInput_Bgr,mInput_HSV,mBlueMask,mDestination;
mInput_Bgr= imread(FileName_S,1);
imshow("mInput_Bgr",mInput_Bgr);

cvtColor(mInput_Bgr,mInput_HSV,COLOR_BGR2HSV);
inRange(mInput_HSV,Scalar(104,200,0),Scalar(132,255,255),mBlueMask);// You can play with all the values to choose your desired color
imshow("mBlueMask",mBlueMask);
mInput_Bgr.setTo(Scalar(255,255,255),mBlueMask);// You can set what ever Color Value
imshow("Corrected_mInput_Bgr",mInput_Bgr);

enter image description here