在批处理文件上运行ImageMagick TextCleaner

在批处理文件上运行ImageMagick TextCleaner,imagemagick,batch-processing,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 我的textcleaner脚本

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

我没有发现这方面的任何东西。我搜索了其他脚本,有各种方法,但TextCleaner没有。 是否要运行“通用”命令

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

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


当然,这不是完整的Weinhaus脚本,但它提供了您想要的基本图像增强功能:

textcleaner.bat

用法:

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

您知道您发布的脚本是否有可能从Python执行吗?您可以创建一个Python循环,然后使用Python子流程调用bash shell脚本。看见
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