我正在使用我的数码相机作为快速而肮脏的扫描仪。分辨率其实在300dpi左右,还是比较合理的。但是我的相机会产生彩色图像,我想将其简化为位图。我不想抖动图像;我正在寻找如果我将文档通过黑白扫描仪会得到什么。将 JPEG 转换为灰度图像既简单又标准,使用djpeg -grayscale
. 困难的部分是决定哪些灰色像素应该是白色的,哪些应该是黑色的。
pbmplus 工具提供
djpeg -grayscale -pnm img.jpg | pgmtopbm -threshold -value $v > img.pbm
但杀手锏就是那个值$v
。好的值似乎在 0.3 到 0.6 的任何范围内,手动反复试验和错误正在杀死我。(对于那些更熟悉 ImageMagick 的人来说$v
,手头是-black-threshold
参数的值。)
我想我可以构建一个 GUI 来帮助我更快地手动找到阈值,但我真正想要的是设置阈值以将灰度图像转换为干净的位图的算法。理想情况下,这只需检查灰度图像的结构即可!