You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:52:07