2014-12-13 63 views
1

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

例如: 具有B/G/R的像素< 150将其重新着色为白色。并且B/G/R> 150的像素变黑或停留。

是否有可能?如果是的话,怎么样?我需要指导。

回答

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