在 ImageMagick 中旋转同一个单词的单个字母
Rotate individual letters of the same word in ImageMagick
我正在为训练数据生成验证码,并且我已经有了一个非常好的 ImageMagick 脚本。
但是,我真正想要的是稍微旋转单词的各个字母,例如,请参见 reCAPTCHA:
有没有简单(或困难)的方法来实现这种效果?
我想你需要这个:
#!/bin/bash
word="theId"
for (( i=0 ; i<${#word} ; i++ )) ; do
rotation=$(((RANDOM%10)*4)) # Generate random rotation for each letter
convert -background none -virtual-pixel none -pointsize 72 label:"${word:i:1}" +distort SRT $rotation miff:-
done | convert -background none - +append result.png
基本上我一次创建和旋转一个字母并将它们写入一个 MIFF
流,一个接一个,最后,我使用 +append
将所有内容连接在一起我在输入流上看到了。
如果你想把字母挤在一起 (TM) 你可以在miff:-
之前加上-trim +repage
我正在为训练数据生成验证码,并且我已经有了一个非常好的 ImageMagick 脚本。
但是,我真正想要的是稍微旋转单词的各个字母,例如,请参见 reCAPTCHA:
有没有简单(或困难)的方法来实现这种效果?
我想你需要这个:
#!/bin/bash
word="theId"
for (( i=0 ; i<${#word} ; i++ )) ; do
rotation=$(((RANDOM%10)*4)) # Generate random rotation for each letter
convert -background none -virtual-pixel none -pointsize 72 label:"${word:i:1}" +distort SRT $rotation miff:-
done | convert -background none - +append result.png
基本上我一次创建和旋转一个字母并将它们写入一个 MIFF
流,一个接一个,最后,我使用 +append
将所有内容连接在一起我在输入流上看到了。
如果你想把字母挤在一起 (TM) 你可以在miff:-
-trim +repage