一个简单的扫描图片问题
我扫描一张图片,白底,黑色的直线
代码如下:
for (int y=0; y<Image1->Height; y++)
{
Application->ProcessMessages();
rgbstr = "";
w_rgb = false;
for (int x=0; x<Image1->Width; x++)
{
Application->ProcessMessages();
ProgressBar1->Position += 1;
bc = Image1->Canvas->Pixels[x][y];
R = GetRValue(bc);
G = GetGValue(bc);
B = GetBValue(bc);
if (R < 10 && G < 10 && B < 10)
{
rgbstr += "1";
w_rgb = true;
}
else
{
if (w_rgb == true)
rgbstr += "0";
}
}
直线如: - - - - -
为什么我扫出来是 101011 0000000 101011
1表示黑色,0表示白色。理论上应该是111111才对啊
另:怎么从后往前查找字符串位置
[解决办法]
为什么我扫出来是 101011 0000000 101011
1表示黑色,0表示白色。理论上应该是111111才对啊
=======================================================
说明你的黑色RGB值范围大于0 -- 10,可加大比较值,如32。