2014-01-08 104 views
1

上下文
我试图从一张幻灯片的“.bmp”中提取所有棕色的内容。由于它是人体组织的染色,棕色的准确颜色在幻灯片之间会有所不同。在图像中搜索颜色范围

所以到目前为止,我发现了很多寻找单一颜色的主题。
到目前为止,我还没有找到任何能够搜索颜色范围的图片。我知道我可以用不同的值做Color compare = Color.FromArgb(X,X,X,X)几千次,但是有没有其他方法可以做到这一点?

回答

1

有2种方式上你读bmp文件二进制并锁定了绳子,但记住3个字节是一个像素或 像这样

using System.Drawing; 

Bitmap img = new Bitmap("*imagePath*"); 
for (int i = 0; i < img.GetWidth; i++) 
{ 
    for (int j = 0; j < img.GetHeight; j++) 
    { 
     Color pixel = img.GetPixel(i,j); 

     if (pixel == *your color*) 
     { 
      //do what you want to if you have found the pixel 
     } 
    } 
} 

你只需要创建颜色比较它但这不应该是一个问题或? 这里的一些链接如何回答问题。 How can I read image pixels' values as RGB into 2d array?

+0

所以没有其他方式一次做范围?对于一个合理大小的图片将是27亿次迭代只是一个小基线 – user2665820

+0

不,我不知道其他方式,但这是一个快速的方式与1024 * 1024的图片我可以比较1次和更快 –