読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

ImageMagick で画像の編集

Unix・Linuxコマンド
「画像のサイズを変更したい」「2つの画像をくっつけたい」 といった簡単な画像の編集をする場合わざわざソフトを使うよりもImageMagickを使った方が簡単だったりします。 ◆インストール $ sudo aptitude install imagemagick 元の画像はこちらとします。400x300 の画像です。 im01.jpg 元画像名:in.jpg 出力名:out.jpg とします。 ◆リサイズする ①アスペクト比固定でリサイズ 半分の大きさにします。 $ convert -geometry 50% in.jpg out.jpg im02.jpg アスペクト比関係なく絶対値でリサイズ サイズを指定して、後ろに「!(エクスクラメーションマーク)」を付けます。 $ convert -geometry 200x300! in.jpg out.jpg im03.jpg $ convert -geometry 400x200! in.jpg out.jpg im04.jpg ③2つの画像をくっつける 縦にくっつけるか、横にくっつけるかで変わります。 a)縦の場合 $ convert -append in1.jpg in2.jpg out.jpg im06.jpg b)横の場合 $ convert +append in1.jpg in2.jpg out.jpg im05.jpg ◆一度に一気にリサイズしたい場合 $ convert -geometry 50% *.jpg といったワイルドカードでのやり方はありますが、何千枚、何万枚ともなると引数が多すぎて怒られます。その場合 xargs を使うといいです。 $ ls | xargs -P4 -I{} convert -geometry 50% {} fixed_{} これで、 ・CPUを4個分使って(-P4) ・出力ファイルには「fixed_」をprefixして リサイズしてくれます。 ◆フォーマットを変更したい jpegpngにしたいなどのときは $ convert in.jpg out.png とオプションなしでファイルを指定すればOKです。 GIFアニメを作りたい GIFアニメ用の画像を一つのフォルダに入れておいて、 $ convert -delay 100 *.png out.gif とすれば作成してくれます。待ち時間指定の単位は1/100秒なので、上記の例で1秒ずつ変化します。 ソース: ImageMagick(convert)で画像サイズを変換する [imagemagick] 画像の連結 xargs -P が激しく便利なのでメモ Linuxで作るGIFアニメーション! GIFファイルの減色処理、透明化、インターレース化について ImageMagickによる基本的な画像処理