超強力な画像処理ソフトImageMagickについて
公式
http://www.imagemagick.org/
ImageMagick
■ このスレッドは過去ログ倉庫に格納されています
2012/10/29(月) 01:02:19.67ID:3BYDrmeE0
2名無しさん@お腹いっぱい。
2012/10/29(月) 01:50:07.16ID:cUfjJSZ20 ちんぽ
2012/10/30(火) 17:02:13.08ID:/m10Ewat0
いちばん基本的な使い方は画像形式の変換
> convert a.jpg a.bmp
a.jpgをbmp形式に変換したファイルが作成される
オプションも何も要らない
何にしたいかは拡張子を読んで勝手に判断してくれる
> convert *.jpg a.bmp
と書くと、全てのjpgファイルをbmp形式にする
ファイル名がカチ合ってるので、そこは
a-0.bmp
a-1.bmp
という具合に勝手に気を使って名前を付けてくれる
> convert a.jpg a.bmp
a.jpgをbmp形式に変換したファイルが作成される
オプションも何も要らない
何にしたいかは拡張子を読んで勝手に判断してくれる
> convert *.jpg a.bmp
と書くと、全てのjpgファイルをbmp形式にする
ファイル名がカチ合ってるので、そこは
a-0.bmp
a-1.bmp
という具合に勝手に気を使って名前を付けてくれる
2012/10/30(火) 17:12:28.49ID:/m10Ewat0
ファイル名を残したまま拡張子だけ変えたい時は、
convertではなくmogrifyを使って、
> mogrify -format bmp *.jpg
という風に書く。
-formatに指定できる文字列は、
> mogrify -list format
とやると表示されて、殆ど何でもある
magは無いけど
ところで、mogrifyってどういう意味だろ
convertではなくmogrifyを使って、
> mogrify -format bmp *.jpg
という風に書く。
-formatに指定できる文字列は、
> mogrify -list format
とやると表示されて、殆ど何でもある
magは無いけど
ところで、mogrifyってどういう意味だろ
2012/10/30(火) 17:17:47.91ID:/m10Ewat0
>>3で、
ファイル名が自動で決まるのが気持ち悪い時は、
C言語とかのprintf()みたいな構文が使えて、
> convert *.jpg a%03d.bmp
と明示的に指定すると、
a000.bmp
a001.bmp
という具合になる
batファイルに書く時は、%を%%にしておかないと消えてしまうけどな
ファイル名が自動で決まるのが気持ち悪い時は、
C言語とかのprintf()みたいな構文が使えて、
> convert *.jpg a%03d.bmp
と明示的に指定すると、
a000.bmp
a001.bmp
という具合になる
batファイルに書く時は、%を%%にしておかないと消えてしまうけどな
6名無しさん@お腹いっぱい。
2012/10/30(火) 20:55:37.00ID:FDCbbAGL02012/10/31(水) 23:33:08.22ID:XbOI5/Yq0
画像形式変換の次によく使うのが、画像の縮小
画像掲示板でサムネイルを作るような処理はみんなこれ
> convert.exe -resize 100x100 a.jpg out.jpg
100x100ドットの画像になるように見えてそうではない
100x100の箱に収まる最大サイズに縮小してくれる
横長の画像なら横が100ドットになるし、縦長なら縦が100ドット
アスペクト比なんかどうでもいいから、とにかく100x100きっちりにしろ!!!、
という場合には
> convert.exe -resize 100x100! a.jpg out.jpg
と書く。! に強い意志が込められている。
画像掲示板でサムネイルを作るような処理はみんなこれ
> convert.exe -resize 100x100 a.jpg out.jpg
100x100ドットの画像になるように見えてそうではない
100x100の箱に収まる最大サイズに縮小してくれる
横長の画像なら横が100ドットになるし、縦長なら縦が100ドット
アスペクト比なんかどうでもいいから、とにかく100x100きっちりにしろ!!!、
という場合には
> convert.exe -resize 100x100! a.jpg out.jpg
と書く。! に強い意志が込められている。
2012/10/31(水) 23:57:00.66ID:XbOI5/Yq0
-resizeオプションの後にはgeometry引数と呼ばれるものが入り、
結構いろいろな書き方ができる
-resize 50%
と書くと縦横50%に縮小してくれる
-resize 100x100>
と書くと、元の画像が100x100よりも大きい場合には100x100の中に入るように縮小するけれど、
100x100よりも小さい場合には何もせずにそのまま、という賢い処理をしてくれる
アイコンみたいな画像を拡大されても困るしね
batファイルに書く時は、%は%%に、>は^>と書く必要がある
リダイレクト文字をオプションに使うという神経が判らない
結構いろいろな書き方ができる
-resize 50%
と書くと縦横50%に縮小してくれる
-resize 100x100>
と書くと、元の画像が100x100よりも大きい場合には100x100の中に入るように縮小するけれど、
100x100よりも小さい場合には何もせずにそのまま、という賢い処理をしてくれる
アイコンみたいな画像を拡大されても困るしね
batファイルに書く時は、%は%%に、>は^>と書く必要がある
リダイレクト文字をオプションに使うという神経が判らない
2012/11/02(金) 00:29:04.07ID:DjgZZc750
使用頻度は下がるけど、画像の一部切り出しというのも使う
photoshopで切り出す範囲を目で見て指定するならともかく、
最初から切り出す範囲が判ってるケースというのはあんまり無い
> convert -crop 100x100+0+0 a.jpg out.jpg
と書くと、a.jpgの左上から100x100の領域がout.jpgとして切り出される
+0+0の部分はオフセットで、切り出す左上の位置を示している
数学で直交座標をイメージすると、左下が原点だけど、画像は何故か左上が原点
photoshopで切り出す範囲を目で見て指定するならともかく、
最初から切り出す範囲が判ってるケースというのはあんまり無い
> convert -crop 100x100+0+0 a.jpg out.jpg
と書くと、a.jpgの左上から100x100の領域がout.jpgとして切り出される
+0+0の部分はオフセットで、切り出す左上の位置を示している
数学で直交座標をイメージすると、左下が原点だけど、画像は何故か左上が原点
2012/11/02(金) 00:38:48.41ID:DjgZZc750
オフセットの指定をサボって、
> convert -crop 100x100 a.jpg out.jpg
と書くと、挙動は大きく変わって、
画像を100x100単位でタイルに分割して、切れ端も含めてそれらを全部、
out-0.jpg
out-1.jpg
out-2.jpg
という感じに出力する
よくある、1枚の絵に見えて保存しようと思うと破片しか保存できない、
みたいな意地悪ページの作成に使える
タイルに分割してかつオフセットも指定したい時はどうすれば
> convert -crop 100x100 a.jpg out.jpg
と書くと、挙動は大きく変わって、
画像を100x100単位でタイルに分割して、切れ端も含めてそれらを全部、
out-0.jpg
out-1.jpg
out-2.jpg
という感じに出力する
よくある、1枚の絵に見えて保存しようと思うと破片しか保存できない、
みたいな意地悪ページの作成に使える
タイルに分割してかつオフセットも指定したい時はどうすれば
2012/11/02(金) 00:48:07.64ID:DjgZZc750
ちょっと変わった使い方として、
> convert -crop 50%x100% a.jpg out.jpg
こんな指定もできる
オフセットを書いていないのでタイルに分割されるけど、
大きさを元ファイルに対する割合で記述していて、
横に50%縦に100%のサイズで分割するので、
結局左右に2分割した画像が
out-0.jpg
out-1.jpg
として得られる
見開きスキャンした画像の分割なんかに使える
> convert -crop 50%x100% a.jpg out.jpg
こんな指定もできる
オフセットを書いていないのでタイルに分割されるけど、
大きさを元ファイルに対する割合で記述していて、
横に50%縦に100%のサイズで分割するので、
結局左右に2分割した画像が
out-0.jpg
out-1.jpg
として得られる
見開きスキャンした画像の分割なんかに使える
2012/11/03(土) 01:46:54.59ID:jA1iIBcW0
GIFアニメの作り方
001.jpg
002.jpg
003.jpg
みたいな感じで素材の画像データが用意してあるとして、
> convert *.jpg out.gif
これで出来てしまう
アホみたいに簡単
まあ、素材の準備が大変なんだけど
001.jpg
002.jpg
003.jpg
みたいな感じで素材の画像データが用意してあるとして、
> convert *.jpg out.gif
これで出来てしまう
アホみたいに簡単
まあ、素材の準備が大変なんだけど
2012/11/03(土) 01:51:01.29ID:jA1iIBcW0
さすがに手を抜きすぎなので、ちょっと指定を増やしていく
まず画像サイズ
GIFアニメは巨大になりがちなので、縮小してサイズ低下を図る
> convert -geometry 320 *.jpg out.gif
これで横320ピクセルになる
それでもサイズがでかいので、レイヤー間で同じことが書いてある部分は
省略することでサイズを縮める
> convert -layers optimize -geometry 320 *.jpg out.gif
まず画像サイズ
GIFアニメは巨大になりがちなので、縮小してサイズ低下を図る
> convert -geometry 320 *.jpg out.gif
これで横320ピクセルになる
それでもサイズがでかいので、レイヤー間で同じことが書いてある部分は
省略することでサイズを縮める
> convert -layers optimize -geometry 320 *.jpg out.gif
2012/11/03(土) 01:54:30.82ID:jA1iIBcW0
これで結構縮む場合が多いけど、厳密に同じ色でないと効かないので、
動画のキャプチャーとかの素材だとまだ不十分なので、
多少違う色でも同じことにしといてよ、という指定をする
> convert -fuzz 3% -layers optimize -geometry 320 *.jpg out.gif
これはなかなかよく効く
効き過ぎて困るくらい
3%くらいにしとかないと、調子に乗って上げると再現なく縮む代わりに、
絵は全く動かなくなる
動画のキャプチャーとかの素材だとまだ不十分なので、
多少違う色でも同じことにしといてよ、という指定をする
> convert -fuzz 3% -layers optimize -geometry 320 *.jpg out.gif
これはなかなかよく効く
効き過ぎて困るくらい
3%くらいにしとかないと、調子に乗って上げると再現なく縮む代わりに、
絵は全く動かなくなる
2012/11/03(土) 02:07:49.45ID:jA1iIBcW0
次の絵に変わるまでのインターバルを指定するには、
delayオプションを使う
> convert -delay 100 -layers optimize -geometry 320 *.jpg out.gif
単位は10ms。100にすると、1秒に1枚切り替わる。
delayを指定しないとデフォルトでは0ということになるけれど、
インターバルの小さなアニメGIFをどう表示するかはビュアーなり
ブラウザに依存するので、意外とちゃんと見えたりするけど、
ちゃんと指定するのが無難
ちゃんと指定してるのに、IEで見た時だけ妙に遅かったりするけど
delayオプションを使う
> convert -delay 100 -layers optimize -geometry 320 *.jpg out.gif
単位は10ms。100にすると、1秒に1枚切り替わる。
delayを指定しないとデフォルトでは0ということになるけれど、
インターバルの小さなアニメGIFをどう表示するかはビュアーなり
ブラウザに依存するので、意外とちゃんと見えたりするけど、
ちゃんと指定するのが無難
ちゃんと指定してるのに、IEで見た時だけ妙に遅かったりするけど
2012/11/03(土) 02:14:28.17ID:jA1iIBcW0
もう一つ、省略していいような、指定した方がいいようなオプションを追加
> convert -loop 0 -delay 100 -layers optimize -geometry 320 *.jpg out.gif
loopは繰り返し回数を指定する
で、0にすると無限に繰り返す
でもデフォルトでそうなってる気がするけど、
ビュアーが気を利かして繰り返してくれてるだけなのかもしれないから、
明示的に指定しておくのが無難
3回だけ繰り返す、みたいなGIFアニメなんか見たことないけど
> convert -loop 0 -delay 100 -layers optimize -geometry 320 *.jpg out.gif
loopは繰り返し回数を指定する
で、0にすると無限に繰り返す
でもデフォルトでそうなってる気がするけど、
ビュアーが気を利かして繰り返してくれてるだけなのかもしれないから、
明示的に指定しておくのが無難
3回だけ繰り返す、みたいなGIFアニメなんか見たことないけど
2012/11/03(土) 02:28:12.10ID:jA1iIBcW0
GIFアニメの作り方はこれで完成として、
逆に作ったGIFアニメをバラの画像ファイルに戻したい時
あるいは、他人の作ったGIFアニメを解剖したい時
> convert +adjoin animation.gif output%03d.bmp
+adjoin オプションを付けるとバラファイルになる
なんでadjoinなのにバラなのか
実は、-adjoinオプションというのが元々あって、
複数の画像ファイルを一つにまとめるという機能がある
でも、このオプションはデフォルトでONで、
だからこそ、出力ファイルにgifを指定するだけでGIFアニメが作れていた
で、adjoinするの止めろよ、という否定オプションが +adjoinなので、
バラす時だけadjoinが使われるという不思議なことになっている
逆に作ったGIFアニメをバラの画像ファイルに戻したい時
あるいは、他人の作ったGIFアニメを解剖したい時
> convert +adjoin animation.gif output%03d.bmp
+adjoin オプションを付けるとバラファイルになる
なんでadjoinなのにバラなのか
実は、-adjoinオプションというのが元々あって、
複数の画像ファイルを一つにまとめるという機能がある
でも、このオプションはデフォルトでONで、
だからこそ、出力ファイルにgifを指定するだけでGIFアニメが作れていた
で、adjoinするの止めろよ、という否定オプションが +adjoinなので、
バラす時だけadjoinが使われるという不思議なことになっている
2012/11/03(土) 02:46:44.99ID:jA1iIBcW0
>>17の方法だと、
-layers optimize で作られたアニメGIFは、差分部分のみしか画像化にされない
どう圧縮が効いているのか判断するのには便利だけど、
圧縮される前の絵に戻したい場合には、-coalesce オプションを使う。
> convert -coalesce +adjoin animation.gif output%%03d.bmp
コウアレスと発音する。アクセントはレの所。三重母音なのか?
意味は合体する癒着する
-layers optimize で作られたアニメGIFは、差分部分のみしか画像化にされない
どう圧縮が効いているのか判断するのには便利だけど、
圧縮される前の絵に戻したい場合には、-coalesce オプションを使う。
> convert -coalesce +adjoin animation.gif output%%03d.bmp
コウアレスと発音する。アクセントはレの所。三重母音なのか?
意味は合体する癒着する
2012/11/03(土) 03:00:24.31ID:jA1iIBcW0
あ、実験してみたら、+adjoinオプション無くてもバラせるわ
> convert animation.gif output%03d.bmp
これでいける
> convert animation.gif output%03d.gif
これでも大丈夫
> convert animation.gif output.gif
これだとアウト
> convert animation.gif output.bmp
これならok
つまり、基本は-adjoin有効なんだけど、出力ファイルがbmpみたいに
adjoin不可能なら、自動的に+adjoinになる
gifの場合はadjoin可能だからバラしてくれないけど、
%03d.gifみたいにいかにもバラして欲しい感じのファイル名だった時は、
気を利かせて+adjoinになる
凄いでしょ
ImageMagickこんなんばっかりよ
> convert animation.gif output%03d.bmp
これでいける
> convert animation.gif output%03d.gif
これでも大丈夫
> convert animation.gif output.gif
これだとアウト
> convert animation.gif output.bmp
これならok
つまり、基本は-adjoin有効なんだけど、出力ファイルがbmpみたいに
adjoin不可能なら、自動的に+adjoinになる
gifの場合はadjoin可能だからバラしてくれないけど、
%03d.gifみたいにいかにもバラして欲しい感じのファイル名だった時は、
気を利かせて+adjoinになる
凄いでしょ
ImageMagickこんなんばっかりよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ観客動員が歴代最多を更新 初の「1300万人超え」達成…平均入場者数も史上最高に [尺アジ★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 山里亮太、フィリピンに子ども食堂を建設 「偽善者」「日本の子どもを助けるべき」の声があっても活動を続ける理由 [Anonymous★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 【朗報】イーロン・マスク「AIとロボットで誰も働かなくて良くなる。全員ニートで金銭も税金もないパラダイスみてぇな国を作りてえ」 [347751896]
- 【悲報】女の謝り方、世界共通だったwwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- バフェットみたいに株で金持ちになった人いるじゃん
- ( ・᷄ὢ・᷅ )今はフリーです
- 女子中学生、男子に初めてクリをイジられてすぐにイッてしまうwwwwwwwwwwwwwwwwwwww
- お前らは詰んでる
