我是在 c# 中使用图像的新手。
我这样做了:
private bool IsBitonal(string FilePath)
{
Bitmap bitmap = new Bitmap(FilePath);
return (bitmap.PixelFormat == PixelFormat.Format1bppIndexed)
}
这适用于 .png 文件,但不适用于 .jpeg 文件,有人可以帮我吗?
是否有任何解决方案来查找图像是否是双色的?
我使用了 Loding 图形的东西,它也不适用于我。
private bool IsBitonal(string filePath)
{
bool isBitonal = false;
try
{
Bitmap bitmap = new Bitmap(filePath);
Graphics graphics = Graphics.FromImage(bitmap);
}
catch (Exception ex)
{
isBitonal = true;
}
return isBitonal;
}
是的,我从 Tomaz Answer那里得到了解决方案
这是我在 C# 中的答案:
public bool IsBitonal(Bitmap YourCurrentBitmap)
{
Color c;
long Eadges = 0;
long Others = 0;
for (int i = 0; i < YourCurrentBitmap.Width; i++)
{
for (int j = 0; j < YourCurrentBitmap.Height; j++)
{
c = YourCurrentBitmap.GetPixel(i, j);
if (!(c.R == c.G && c.G == c.B)) return false;
if (c.R <= 16||c.R >= 255-16)
Eadges++;
else
Others++;
}
}
double proportion = Eadges / (double)Others;
// here is estimation based on you requirement you can change
return proportion > 10;;
}