解决Imagemagick -distort生成的白色三角无法被背景色填充的问题
扫描文本图像歪斜修正脚本的背景色替换问题
我编写了一个bash脚本,用于将扫描文本的梯形图像修正为矩形,脚本代码如下:
str(){ # stretch/compress text trapezoid to rectangle, str %f [pixels, def 5] # NB pixels + stretches right hand side, pixels - compresses it a=($(identify $1|cut -d ' ' -f 3|tr 'x' ' ')) pxl=$(convert $1 -format "%[pixel:s.p{0,0}]" info:) c=${2:-5} # pixels to stretch, default 5 let b=a[1]-c exp='0,0 0,0, '${a[0]}','$2' '${a[0]}',0, 0,'${a[1]}' 0,'${a[1]}', '${a[0]}','$b' '${a[0]}','${a[1]}' convert $1 -alpha set -virtual-pixel transparent -distort Perspective "$exp" +repage q.png convert +repage q.png -fuzz 10% -fill $pxl -opaque white -| xv - }
脚本整体运行正常,但最后用于替换背景色的命令存在问题:当第二个参数为负数时,前序-distort Perspective命令产生的白色三角区域不受-fuzz参数调整的影响,始终无法被填充为原始背景色。
处理前后的图像:

内容的提问来源于stack exchange,提问作者user985675
相关产品推荐
相关产品推荐

