在批处理文件上运行ImageMagick TextCleaner

时间:2018-10-23 14:36:18

标签: imagemagick batch-processing

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

我什么都没找到。我搜索了其他脚本,但有各种方法,但TextCleaner没有。 有一个“通用”命令可以运行吗?

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

我还是ImageMagick的新手,所以我不太了解。

这是我使用的命令:

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

2 个答案:

答案 0 :(得分:1)

我的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

答案 1 :(得分:0)

这当然不是完整的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