运行 批处理文件上的 ImageMagick TextCleaner

Run ImageMagick TextCleaner on batch files

可以在批处理文件上使用 Fred Weinhaus 提供的 TextCleaner 脚本吗?

我没有找到任何相关信息。我搜索了其他脚本,有多种方法,但 TextCleaner 没有。 有一个 "universal" 命令到 运行 ?

我在 Windows 上使用 Cygwin 来执行脚本。

我也是ImageMagick的新手所以了解的不多..

这是我使用的命令:

textcleaner -g -e normalize -f 50 -o 10 -s 10 image_0in.png image_out.png

我的 textcleaner 脚本一次只能处理一张图像。您必须为要处理的每个图像编写一个脚本循环,然后为循环中的每个图像调用 textcleaner。

您可以手动创建一个包含所有要处理的图像的列表。或者,如果您所有的图像都在一个目录中(并且名称中没有空格),那么您可以

cd to directory holding the images
list=`ls`
for img in $list; do
name=`convert $img -format "%t" info:`
textcleaner -g -e normalize -f 50 -o 10 -s 10 $img ${name}_out.png
done


或更好(即使文件名称中有空格)

cd to directory holding the images
for img in *.png; do
name=`convert "$img" -format "%t" info:`
textcleaner -g -e normalize -f 50 -o 10 -s 10 "$img" "${name}_out.png"
done

这当然不是完整的 Weinhaus 脚本,但它可以实现您正在寻找的基本图像增强功能:

textcleaner.bat

cd /d %~dp0

set filtersize=40
set offset=5

FOR %%i in (%1) do (
    del/q "%%~dpni.new3.png"
    echo Cleaning %1 ...
    "Z:\_grafik\imagick\bin\convert" -respect-parenthesis ^( "%1" -colorspace gray -set colorspace RGB -contrast-stretch 0 ^) ^( -clone 0 -negate -contrast-stretch 0 -lat %filtersize%x%filtersize%+%offset%%% ^) -compose Copy_Opacity -composite -fill white -opaque none +matte -deskew 50%% -alpha off "%%~dpni.new.png"
)

用法:

textcleaner.bat myimage.png
---> will create myimage.new.png