我正在为训练数据生成CAPTCHA,我已经有了一个非常好的ImageMagick脚本。
然而,我真正想要的一件事是单词的单个字母稍微旋转,例如参见此reCAPTCHA:
有一种简单(或很难)的方法来实现这种效果吗?
答案 0 :(得分:2)
我认为你需要这个:
#!/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),您可以在-trim +repage
之前添加miff:-