5

我正在寻找将图像(png、jpeg 等)转换为 1bit/px 位图图像的命令和选项(类似于在 Photoshop 中将其转换为位图时发生的情况)。请参阅下面的示例

我想从 Rails 应用程序(例如 RMagick 或通过 ImageMagick)中以编程方式进行

在此处输入图像描述

以下作品:

convert yo.jpg -remap pattern:gray30 mono.gif

但与 phosotsohp 在这种情况下所做的相比,我想更好地了解正在发生的事情;考虑到这里解释的许多可能性 (@roger_rowland 再次感谢链接)

最后我想要做的是有这个“效果”,并放大图像而不会产生模糊效果

4

2 回答 2

5

-monochrome

此选项使用一些智能抖动并生成非常明显的输出:

convert -monochrome in.png out.png

文档:http ://www.imagemagick.org/Usage/quantize/#monochrome

将其与更简单的-threshold 50转换进行比较:

convert -threshold 50 in.png out.png

这会丢失大部分图像。我们可能会通过更好的-threshold价值来改进它,但它的美妙之-monochrome处在于它更智能并且通常可以在我们无需猜测任何内容的情况下工作。

具体示例来自:https ://www.nasa.gov/mission_pages/galex/pia15416.html

wget -O orig.jpg http://www.nasa.gov/images/content/650137main_pia15416b-43_full.jpg
# Downsize to 400 height to have a reasonable file size for upload here.
convert orig.jpg -resize x400 in.jpg
convert -monochrome in.jpg out.jpg
convert -threshold 50 in.jpg threshold-50.jpg

在.jpg

在此处输入图像描述

出.jpg

在此处输入图像描述

阈值-50.jpg

在此处输入图像描述

相关问题:

在 Ubuntu 19.10、ImageMagick 6.9.10 中测试。

于 2015-09-25T19:42:00.960 回答
3

也许您只需要查看涵盖量化和抖动的ImageMagick 文档,我认为这正是您要问的。是吗?

好的 - 为确保在调整大小时不会模糊,您需要保留原始图像的副本(即在半色调或抖动或其他之前)。然后,当您需要调整大小时,对原始图像的副本进行调整大小(向上或向下,使用合适的插值器),然后在此调整大小的原始副本上重复单色转换以获得调整大小的单色。

编辑- 根据您的最新评论,尝试这样的事情:

convert yo.jpg -colorspace Gray -ordered-dither h4x4a -scale 2000x2000 mono.png 
于 2013-04-07T09:58:48.093 回答