我经常扫描手写文档以发送给同事,并且需要在扫描后对数字文件进行更正。 (例如,我将原始文档上的错误更改为白色。)
我正在考虑一些可以执行以下操作的脚本:
将彩色扫描图像(比如tiff)作为输入,并根据图像中的彩色校正自动进行简单校正。
例如,最简单的情况是:我只在白色上写黑色。有一个区域我犯了错误,所以我在那个区域周围绘制了一个红色的闭合圆圈(在实际纸张上用笔)。然后我扫描图像(或通常很多)。现在我希望脚本擦除所有图像中的每个区域,这样我的错误就会在结果图像中消失。
如何在Linux环境中实现这一点的任何想法,例如:与Image Magick合作?
看起来像带有script-fu的Gimp可能是它应该足够强大的方式。有人可以通过指出上面的例子看起来像在script-fu中来给我一个提示吗?
答案 0 :(得分:2)
我正在考虑基于ImageMagick的解决方案。我们需要以下步骤:
x
和y
坐标; 我们可以根据ImageMagick的功能使用以下脚本:
输出图片中所有独特的颜色。这将用于找出目标颜色(command source)的RGB分量。
convert <image> -unique-colors -depth 8 txt:- > output.txt
输出文本文件中每种颜色的坐标:
convert <image> txt:- > coord.txt
找到目标颜色的x
和y
坐标(command source)。假设步骤1获得的目标颜色为红色:
grep red coord.txt
最后,使用x
和y
作为floodfill
的种子,用您想要的颜色(command source)替换圆圈区域。在这种情况下,我使用white
来删除区域:
convert <image> -fill white -fuzz 13% \
-draw 'color <x>,<y> floodfill' <image_floodfill_output>
-fuzz
参数将避免原来red
并因噪音而损坏的颜色也会被替换。
此tutorial提供了有关floodfill
功能的更多信息,例如如何替换边缘颜色。
答案 1 :(得分:0)
我建议查看一下扫描器扫描器(也许是scansnap 3100)。捆绑软件可以做的一些事情可能会有所帮助。
您可能会发现您找到的任何软件/脚本都无法按照您的喜好运行。听起来很多这些编辑都需要用人眼来看待。也许你可以聘请一位私人助理来为你做出这些更正。 :)