背景:我在 Gimp 中对彩色图像进行了索引转换,结果是源图像的黑白版本。
我在 ImageMagick 中尝试了许多选项都无济于事。我可以接近,但从来没有像 gimp 似乎毫不费力地做的那样清晰明快。
这是我的来源:
var bmp = new MagickImage(sourceImage);
bmp.Threshold(new ImageMagick.Percentage(60));
bmp.Resample(200, 200);
bmp.ColorType = ColorType.Bilevel;
bmp.BitDepth(1);
bmp.Settings.Compression = CompressionMethod.Group4;
bmp.Strip();
bmp.Format = MagickFormat.Tiff;
我一直在调整 Threshold 调用,并尝试了我在网上看到的各种建议,并取得了不同程度的成功。
magickimage 有一个名为 -monochrome 的功能,但我还没有在 .net 库中找到它是如何实现的。
我确信这是可能的,但实现良好黑白转换的最佳方法是什么。
答案 0 :(得分:1)
使用 ImageMagick 7,您可以进行 Otsu 阈值处理。
输入:
magick check.png -alpha off -auto-threshold otsu x.png
结果:
ImageMagick 6 中没有内置等效项。但是我有一个脚本 otsuthresh 可以做到At my web site
所以在 ImageMagick 6 中,你只需要做简单的阈值处理。
convert check.png -alpha off -threshold 50% y.png
结果:
我注意到您的输入图像有一个不透明的 Alpha 通道,需要将其移除才能获得正确的结果。