使用Imagemagick旋转或去歪斜图像后,角落处会出现白色背景,旋转发生在那里。例如:
convert image.png -rotate 10 out.png
有没有办法可以用某种纹理填充那些白色角落,或者至少是一种与图像融为一体的颜色?裁剪不是一种选择。
我找到了这个简单旋转的好方法:
convert image.png -virtual-pixel Edge +distort SRT 10 out.png
但不幸的是,它不适用于-deskew
命令...
那么,有没有人知道如何以-deskew
(和-rotate
)命令的类似方式填补这些角落?重点是掩盖图像尽可能旋转的事实。
答案 0 :(得分:2)
我会继续回答我自己的问题,但我仍然希望有更好的解决方案。
您可以设置-background
颜色,该颜色适用于旋转和偏移校正。
以下是使用平均图像颜色的解决方案:
convert image.png -background `convert image.png -resize 1x1 txt:- | tail -1 | cut -b 30-50` -rotate 10 out.png
一个更好的解决方案,需要一些边框像素:
convert image.png -background `convert image.png -resize 100x1! \( +clone -crop 1x1+0+0 \) +append -crop 2x1+99+0 -resize 1x1 txt:- | tail -1 | cut -b 30-50` -rotate 10 out.png
有一些bash脚本(在反引号内),所以这些解决方案只是unix。
答案 1 :(得分:1)
试试这个:
convert image.png -background transparent -rotate 10 out.png