web-dev-qa-db-ja.com

フォルダ構造を維持しながら画像をモノクロにバッチ変換する方法

画像をバッチ処理したいのですが、実行したい非常に具体的なタスクがあります

  1. 画像タイプを変更したくない
  2. 白黒にしたい
  3. 画像とサブフォルダー構造を作成/保存したい

Photoshopでこれを行いましたが、フォルダーとサブフォルダーの内容は保持されず、変換されたすべてのファイルが1つのディレクトリにスローされました。

私の唯一の希望はLinuxです:D

前もって感謝します!

ここでこれに関するさまざまな議論を見ることができますが、Basharat Sialは私のために働いた

http://ubuntuforums.org/showthread.php?t=2143992

6
Levan

convertコマンドを使用して、画像を白黒に変換できます。

convert -colorspace GRAY image.png b-w_image.png

ここで、image.pngは入力画像であり、b-w_image.pngは出力イメージです。

このコマンドをfindと組み合わせると、bash one linerを作成して、親ディレクトリの下にあるすべての画像を変換できます。

ハウツー:
を押して端末を開きます Ctrl+Alt+Tcdをparent/mainディレクトリに移動して、次のコマンドを実行します。

for img in $(find . -iname '*.png'); do echo -n "Converting $img"; convert -colorspace GRAY $img $img && echo ' [Done]'; done

親ディレクトリの下のすべての画像を変換して上書きします。一時的なイメージでテストすることをお勧めします。結果に満足できる場合は、実際のイメージで実行することをお勧めします。

10
Basharat Sialvi

-monochromeは必要に応じてオプションですバイナリ白黒(ピクセルあたり1ビット)。

いくつかのスマートディザリングを使用し、非常に目に見える出力を生成します。

convert -monochrome in.png out.png

enter image description here

後:

enter image description here

ディレクトリ構造を維持するには、スクリプトを Basharatによる言及 としてスクリプト化する必要があります。