Ben*_*Ben 4 rmagick imagemagick bitmap image-processing
我正在寻找将图像(png、jpeg 等)转换为 1bit/px 位图图像的命令和选项(类似于在 photoshop 中将其转换为位图时发生的情况)。请参阅下面的示例
我想从 Rails 应用程序(例如 RMagick 或通过 ImageMagick)中以编程方式执行此操作

以下工作:
convert yo.jpg -remap pattern:gray30 mono.gif
Run Code Online (Sandbox Code Playgroud)
但与 phosotsohp 在那种情况下会做什么相比,我想更好地了解正在发生的事情;考虑到这里解释的许多可能性 (@roger_rowland thx 再次提供链接)
最后我想要做的是有这种“效果”,并放大图像而不会产生模糊效果
-monochrome
此选项使用一些智能抖动并生成非常明显的输出:
convert -monochrome in.png out.png
Run Code Online (Sandbox Code Playgroud)
文档:http : //www.imagemagick.org/Usage/quantize/#monochrome
将其与更简单的-threshold 50转换进行比较:
convert -threshold 50 in.png out.png
Run Code Online (Sandbox Code Playgroud)
这失去了大部分图像。我们本可以用更好的-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
Run Code Online (Sandbox Code Playgroud)
.jpg
出.jpg
阈值-50.jpg
相关问题:
在 Ubuntu 19.10、ImageMagick 6.9.10 中测试。
也许您只需要查看涵盖量化和抖动的ImageMagick 文档,我认为这正是您所要求的。是吗?
好的 - 为了确保调整大小时不会变得模糊,您需要保留原始图像的副本(即在半色调或抖动或其他任何操作之前)。然后,当您需要调整大小时,在原始图像的副本上调整大小(向上或向下,使用合适的插值器),然后在调整大小的原始图像副本上重复单色转换以获得调整大小的单色。
编辑- 根据您的最新评论,尝试如下操作:
convert yo.jpg -colorspace Gray -ordered-dither h4x4a -scale 2000x2000 mono.png
Run Code Online (Sandbox Code Playgroud)