【问题标题】:How do I convert a Color Image to Black and White using ImageMagick?如何使用 ImageMagick 将彩色图像转换为黑白?
【发布时间】:2021-05-02 20:28:04
【问题描述】:

背景:我在 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;

我一直在调整阈值调用,并尝试了我在网上看到的各种建议,并取得了不同程度的成功。

magickimage 有一个名为 -monochrome 的功能,但我还没有在 .net 库中找到它是如何实现的。

我确信这是可能的,但实现良好的黑白转换的最佳方法是什么。

【问题讨论】:

  • 请张贴您输入的图片或链接。
  • 已编辑以添加示例图像。本文的浅色设计用于在黑白转换中丢失。钢笔和背景应转换为黑色,页面上的大多数文字也应如此。

标签: .net-core imagemagick monochrome


【解决方案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 通道,需要将其移除才能获得正确的结果。

【讨论】:

  • 在 MagickImage.NET 中执行此完全相同过程的任何指针?
  • 对不起,我不知道 MagickImage.NET。联系 magick.net 创建者。他可能会帮助你,因为它是用 IM 7 编码的或转换我的 IM 6 脚本。见github.com/dlemstra/Magick.NET
猜你喜欢
  • 2010-10-08
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
相关资源
最近更新 更多