3

在我使用 Imagemagick 旋转或歪斜图像后,角落里有一个白色背景,旋转发生的地方。例子:

convert image.png -rotate 10 out.png

输出:http: //imgur.com/8bZQ6

有没有办法可以用某种纹理或至少一种与图像融为一体的颜色填充那些白色角落?种植不是一种选择。

我找到了简单旋转的绝佳解决方案:

convert image.png -virtual-pixel Edge +distort SRT 10 out.png

输出:http: //imgur.com/edMS0

但不幸的是,它不适用于-deskew命令...

那么,有谁知道如何以类似的方式为-deskew(and -rotate) 命令填充这些角落?关键是要尽可能地掩盖图像旋转的事实。

4

2 回答 2

2

我会继续回答我自己的问题,但我仍然希望有更好的解决方案。

您可以设置-background颜色,它适用于旋转和纠偏。

这是使用平均图像颜色的解决方案:

convert image.png -background `convert image.png -resize 1x1 txt:- | tail -1 | cut -b 30-50` -rotate 10 out.png

输出:http: //imgur.com/YCqkC

还有一个更好的解决方案,需要一些边框像素:

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

输出:http: //imgur.com/4wDPO

有一些 bash 脚本(在反引号内),所以这些解决方案仅适用于 unix。

于 2013-01-02T21:41:39.130 回答
1

尝试这个:

convert image.png -background transparent -rotate 10 out.png
于 2013-01-01T21:08:30.617 回答