将文档的彩色照片转换为良好的黑白(双色调)图像?

将文档的彩色照片转换为良好的黑白(双色调)图像?

由于我没有复印机或扫描仪,所以我使用 800 万像素的相机来复印文件。这种方法效果很好,只是之后需要大量处理。我想从照片转换为位图,但使用

djpeg -grayscale -pnm photo.jpg |
pgmtopbm -threshold -value XXX

效果不太好,原因有二:

  1. 很难猜测 XXX 应该是什么,并且不同的照片 XXX 也不同。

  2. 光照会发生变化,有时单一阈值并不适用于图像。

我怎样才能做得更好?理想的解决方案是可以在 Linux 上运行的全自动命令行程序。(我已经编写了一个程序来从图像边缘去除暗像素。)

注意:我真的想要一个位图,那只是黑白像素。没有灰度,没有抖动。

答案1

三年来我发现的最好的东西mkbitmap波特雷斯

答案2

-monochrome

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

convert -monochrome in.png out.png

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

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

convert -threshold 50 in.png out.png

从而丢失了大部分图像。

具体例子来自: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 中测试。

答案3

显然,Gimp 支持一些命令行批处理。您可以尝试一下,因为去饱和度可能会像您预期的那样,在图像中以不同的亮度进行。

答案4

转换为灰度/去饱和度也会保留大部分噪音。GIMP 有一个阈值过滤器(在颜色菜单下),可以消除噪音,并且非常适合线条艺术和纯黑色扫描文本。

我自己对批处理脚本并不是太了解,但听起来使用 Threshold 是一个好主意。

编辑:由于您有 Linux 作为标签,请查看帕奇,批量处理照片。它还具有调整对比度和亮度的滤镜。它位于 Ubuntu 存储库中(如果您使用该发行版)

相关内容