43

の画像が.jpg formatありwhite background colorます。で白い背景色を透明に削除したいImagemagick。いろいろ試してみましたが、まだ白い背景を取り除くことができません。誰かがこれを解決するのを手伝ってくれますか?

4

4 に答える 4

71

JPEG の背景色を透明にすることはできません。JPEG ファイル形式は透明度をサポートしていません。

透明な背景が必要な場合は、JPEG を次のように変換する必要があります。

  • PNG (高品質、ファイルサイズは JPEG よりも大きい可能性があります)
  • または GIF (低品質と最大 255 色の範囲を許容できる場合)。

コマンド例:

convert  your.jpg  -transparent white  your.png
于 2012-09-14T19:03:41.370 に答える
61

まず、 JPEG は透明度をサポートしていないため、画像形式を から.jpgに変換する必要があります。.png次に、次のコマンドを使用します。

convert image1.png -fuzz 20% -transparent white result.png

この-fuzzオプションを使用すると、純粋な白色からの指定された割合の偏差を透明に変換することもできます。これは、画像にノイズや微妙なグラデーションが含まれている場合などに便利です。

于 2012-09-15T03:43:17.113 に答える
11

とてもステキなものを見つけました!

magicwand 1,1 -t 20 -f image -r outside -m overlay -o 0 image.jpg imgOutput.png

これは、ここからダウンロードできる Fred Weinhaus bash スクリプトです(非商用目的のみ)。また、約250のスクリプトがあります!! そしてこれはすごい!内側の画像ドットをそのままにして、すべての背景を削除するというまさにトリックを行いました!

彼のページには例としていくつかの画像があるので、コマンド ラインに入力する必要があるものを選択します。

初期位置1,1は、すべての輪郭が背景であるという一般的な推測です。

出力は「.png」でなければならないことに注意してください

于 2014-06-30T20:21:13.160 に答える