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(と-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 に答える