【发布时间】:2013-12-27 10:05:51
【问题描述】:
在 opencCV 中,我得到了这段代码来检测他们检查每个像素值的颜色,获得所需的值并将其替换为白色并将所有不必要的像素转换为黑色。这是代码。
int MaxC = 0;
for(int i = 0; i < img_output.rows; i++)
{
for(int j = 0; j < img_output.cols; j++)
{
nPixelPos = i*img_output.cols*cn + j*cn;
nCombinedVal = (pixelPtr[nPixelPos +2]) *( 255 - pixelPtr[nPixelPos +1]);
if (nCombinedVal > MaxC)
MaxC = nCombinedVal;
}
}
MaxC = MaxC / 255;
for(int i = 0; i < img_output.rows; i++)
{
for(int j = 0; j < img_output.cols; j++)
{
nPixelPos = i*img_output.cols*cn + j*cn;
nCombinedVal = (pixelPtr[nPixelPos +2]) *( 255 - pixelPtr[nPixelPos +1]);
nCombinedVal = (nCombinedVal/ MaxC);;
if (nCombinedVal > 230)
{
pixelPtr1[nPixelPos + 0]= nCombinedVal;
pixelPtr1[nPixelPos+ 1] = nCombinedVal;
pixelPtr1[nPixelPos + 2]= nCombinedVal;
}
else
{
pixelPtr1[nPixelPos + 0]= 0;
pixelPtr1[nPixelPos+ 1] = 0;
pixelPtr1[nPixelPos + 2]= 0;
}
}
}
现在我的问题是:-
此代码特别适用于一种颜色(绿色)我还想让它与其他颜色(即红色)兼容..但我不知道我应该在哪里更改此代码。谁能帮我 ?
【问题讨论】:
标签: javascript c++ objective-c opencv colors