■ このスレッドは過去ログ倉庫に格納されています
ImageMagick
- 1 :名無しさん@お腹いっぱい。:2012/10/29(月) 01:02:19.67 ID:3BYDrmeE0.net
- 超強力な画像処理ソフトImageMagickについて
公式
http://www.imagemagick.org/
- 11 :名無しさん@お腹いっぱい。:2012/11/02(金) 00:48:07.64 ID:DjgZZc750.net
- ちょっと変わった使い方として、
> convert -crop 50%x100% a.jpg out.jpg
こんな指定もできる
オフセットを書いていないのでタイルに分割されるけど、
大きさを元ファイルに対する割合で記述していて、
横に50%縦に100%のサイズで分割するので、
結局左右に2分割した画像が
out-0.jpg
out-1.jpg
として得られる
見開きスキャンした画像の分割なんかに使える
- 12 :名無しさん@お腹いっぱい。:2012/11/03(土) 01:46:54.59 ID:jA1iIBcW0.net
- GIFアニメの作り方
001.jpg
002.jpg
003.jpg
みたいな感じで素材の画像データが用意してあるとして、
> convert *.jpg out.gif
これで出来てしまう
アホみたいに簡単
まあ、素材の準備が大変なんだけど
- 13 :名無しさん@お腹いっぱい。:2012/11/03(土) 01:51:01.29 ID:jA1iIBcW0.net
- さすがに手を抜きすぎなので、ちょっと指定を増やしていく
まず画像サイズ
GIFアニメは巨大になりがちなので、縮小してサイズ低下を図る
> convert -geometry 320 *.jpg out.gif
これで横320ピクセルになる
それでもサイズがでかいので、レイヤー間で同じことが書いてある部分は
省略することでサイズを縮める
> convert -layers optimize -geometry 320 *.jpg out.gif
- 14 :名無しさん@お腹いっぱい。:2012/11/03(土) 01:54:30.82 ID:jA1iIBcW0.net
- これで結構縮む場合が多いけど、厳密に同じ色でないと効かないので、
動画のキャプチャーとかの素材だとまだ不十分なので、
多少違う色でも同じことにしといてよ、という指定をする
> convert -fuzz 3% -layers optimize -geometry 320 *.jpg out.gif
これはなかなかよく効く
効き過ぎて困るくらい
3%くらいにしとかないと、調子に乗って上げると再現なく縮む代わりに、
絵は全く動かなくなる
- 15 :名無しさん@お腹いっぱい。:2012/11/03(土) 02:07:49.45 ID:jA1iIBcW0.net
- 次の絵に変わるまでのインターバルを指定するには、
delayオプションを使う
> convert -delay 100 -layers optimize -geometry 320 *.jpg out.gif
単位は10ms。100にすると、1秒に1枚切り替わる。
delayを指定しないとデフォルトでは0ということになるけれど、
インターバルの小さなアニメGIFをどう表示するかはビュアーなり
ブラウザに依存するので、意外とちゃんと見えたりするけど、
ちゃんと指定するのが無難
ちゃんと指定してるのに、IEで見た時だけ妙に遅かったりするけど
- 16 :名無しさん@お腹いっぱい。:2012/11/03(土) 02:14:28.17 ID:jA1iIBcW0.net
- もう一つ、省略していいような、指定した方がいいようなオプションを追加
> convert -loop 0 -delay 100 -layers optimize -geometry 320 *.jpg out.gif
loopは繰り返し回数を指定する
で、0にすると無限に繰り返す
でもデフォルトでそうなってる気がするけど、
ビュアーが気を利かして繰り返してくれてるだけなのかもしれないから、
明示的に指定しておくのが無難
3回だけ繰り返す、みたいなGIFアニメなんか見たことないけど
- 17 :名無しさん@お腹いっぱい。:2012/11/03(土) 02:28:12.10 ID:jA1iIBcW0.net
- GIFアニメの作り方はこれで完成として、
逆に作ったGIFアニメをバラの画像ファイルに戻したい時
あるいは、他人の作ったGIFアニメを解剖したい時
> convert +adjoin animation.gif output%03d.bmp
+adjoin オプションを付けるとバラファイルになる
なんでadjoinなのにバラなのか
実は、-adjoinオプションというのが元々あって、
複数の画像ファイルを一つにまとめるという機能がある
でも、このオプションはデフォルトでONで、
だからこそ、出力ファイルにgifを指定するだけでGIFアニメが作れていた
で、adjoinするの止めろよ、という否定オプションが +adjoinなので、
バラす時だけadjoinが使われるという不思議なことになっている
- 18 :名無しさん@お腹いっぱい。:2012/11/03(土) 02:46:44.99 ID:jA1iIBcW0.net
- >>17の方法だと、
-layers optimize で作られたアニメGIFは、差分部分のみしか画像化にされない
どう圧縮が効いているのか判断するのには便利だけど、
圧縮される前の絵に戻したい場合には、-coalesce オプションを使う。
> convert -coalesce +adjoin animation.gif output%%03d.bmp
コウアレスと発音する。アクセントはレの所。三重母音なのか?
意味は合体する癒着する
- 19 :名無しさん@お腹いっぱい。:2012/11/03(土) 03:00:24.31 ID:jA1iIBcW0.net
- あ、実験してみたら、+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こんなんばっかりよ
- 20 :名無しさん@お腹いっぱい。:2012/11/11(日) 23:28:33.18 ID:toT+qNEC0.net
- 画像をタイル状に並べる
大量の画像の見本みたいなのを作るのに便利
> montage -tile 4 -geometry 320 *.jpg tile.jpg
横に4つ並べて縦にずらっと並ぶ
縦で指定したい時は、-tile x4 のように書く
-geometryでの指定は、出来上がりサイズではなく、個々の画像のサイズになる
用意した画像の数が縦横の積ぴったりでない場合、余った部分は背景色になる
背景色はデフォルトでは白だけど、他の色にしたい場合は、
-background #808080
のように指定する。順番はRGB
繰り返し実験する時は、出力先に指定した画像を消しておかないと、
その画像もタイルの一部になってしまう
さらに繰り返すと、フラクタルみたいに無限に自分自身が映り込んでいく
総レス数 1001
238 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★