ImageMagick

■ このスレッドは過去ログ倉庫に格納されています
2012/10/29(月) 01:02:19.67ID:3BYDrmeE0
超強力な画像処理ソフトImageMagickについて

公式
http://www.imagemagick.org/
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
という具合に勝手に気を使って名前を付けてくれる
2012/10/30(火) 17:12:28.49ID:/m10Ewat0
ファイル名を残したまま拡張子だけ変えたい時は、
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ファイルに書く時は、%を%%にしておかないと消えてしまうけどな
6名無しさん@お腹いっぱい。
垢版 |
2012/10/30(火) 20:55:37.00ID:FDCbbAGL0
2007年に立ってたスレ

http://pc11.2ch.net/test/read.cgi/software/1195220823/
2012/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

と書く。! に強い意志が込められている。
2012/10/31(水) 23:57:00.66ID:XbOI5/Yq0
-resizeオプションの後にはgeometry引数と呼ばれるものが入り、
結構いろいろな書き方ができる

-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の部分はオフセットで、切り出す左上の位置を示している
数学で直交座標をイメージすると、左下が原点だけど、画像は何故か左上が原点
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枚の絵に見えて保存しようと思うと破片しか保存できない、
みたいな意地悪ページの作成に使える
タイルに分割してかつオフセットも指定したい時はどうすれば
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
として得られる
見開きスキャンした画像の分割なんかに使える
2012/11/03(土) 01:46:54.59ID:jA1iIBcW0
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
2012/11/03(土) 01:54:30.82ID:jA1iIBcW0
これで結構縮む場合が多いけど、厳密に同じ色でないと効かないので、
動画のキャプチャーとかの素材だとまだ不十分なので、
多少違う色でも同じことにしといてよ、という指定をする

> 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で見た時だけ妙に遅かったりするけど
2012/11/03(土) 02:14:28.17ID:jA1iIBcW0
もう一つ、省略していいような、指定した方がいいようなオプションを追加

> 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が使われるという不思議なことになっている
2012/11/03(土) 02:46:44.99ID:jA1iIBcW0
>>17の方法だと、
-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こんなんばっかりよ
2012/11/11(日) 23:28:33.18ID:toT+qNEC0
画像をタイル状に並べる
大量の画像の見本みたいなのを作るのに便利

> montage -tile 4 -geometry 320 *.jpg tile.jpg

横に4つ並べて縦にずらっと並ぶ
縦で指定したい時は、-tile x4 のように書く

-geometryでの指定は、出来上がりサイズではなく、個々の画像のサイズになる

用意した画像の数が縦横の積ぴったりでない場合、余った部分は背景色になる
背景色はデフォルトでは白だけど、他の色にしたい場合は、
-background #808080
のように指定する。順番はRGB

繰り返し実験する時は、出力先に指定した画像を消しておかないと、
その画像もタイルの一部になってしまう
さらに繰り返すと、フラクタルみたいに無限に自分自身が映り込んでいく
2012/11/13(火) 22:52:57.85ID:nS/ZZQq50
続きまだー
2012/11/15(木) 01:20:15.93ID:hdD7JsrG0
実はふむふむこんな使い方もあるんだなと感心して見てました(´・ω・`)
2012/11/15(木) 09:13:34.92ID:MKggAK5r0
convertのオプションの日本語訳

ttp://www5a.biglobe.ne.jp/~nkgwtty/njaLinuxImageMagick.html
2012/11/27(火) 16:44:36.53ID:nFQjpjNA0
PHPでMagick使ってるんだけど
文字の縁取りをStrokeWidthでやるとフォントの角ばった部分が丸くストロークされちゃう
改善方法ある?
2012/12/12(水) 21:16:13.28ID:Vk2VT3By0
Const Width = "640"
Const Height = "480"
Const Font = "meiryo.ttc"

Set FileSystem = Createobject("Scripting.FileSystemObject")
Set Shell = CreateObject("WScript.Shell")
Set ImageMagick = CreateObject("ImageMagickObject.MagickImage.1")

Messages = ImageMagick.Convert( _
"-font", FileSystem.BuildPath(Shell.SpecialFolders("Fonts"), Font), _
"-pointsize", "60", _
"label:@" & FileSystem.GetBaseName(WScript.ScriptFullName) & ".txt", _
"nul.bmp")
If Width / Split(Messages, ",")(0) =< Height / Split(Messages, ",")(1) Then
PointSize = Fix(Width / Split(Messages, ",")(0) * 60)
Else
PointSize = Fix(Height / Split(Messages, ",")(1) * 60)
End If
ImageMagick.Convert _
"-size", Width & "x" & Height, _
"canvas:none", _
"-fill", "white", _
"-draw", "rectangle 0,0," & Width - 1 & "," & Height - 1, _
"-font", FileSystem.BuildPath(Shell.SpecialFolders("Fonts"), Font), _
"-pointsize", PointSize, _
"-fill", "black", _
"-gravity", "center", _
"-annotate", "0", "@" & FileSystem.GetBaseName(WScript.ScriptFullName) & ".txt", _
FileSystem.GetBaseName(WScript.ScriptFullName) & ".bmp"
2012/12/12(水) 21:23:39.12ID:Vk2VT3By0
お。書けた。
上記を*.vbsとして保存して、同名の*.txtにBOM無しUTF-8でテキストを入れておくと、そのテキストが画像になります。

これでフォントをMS ゴシックにすると、半角文字に空白がくっついて全角文字と同じ幅になってしまうのですが、
対処方法知ってる人がいたら教えてもらえないでしょうか。
等幅でもあくあフォントとかを使えば期待通りに動くのですが。
2013/07/26(金) NY:AN:NY.ANID:p9Yj7Qsv0
identify pic.jpg
28名無しさん@お腹いっぱい。
垢版 |
2013/09/27(金) 11:52:27.36ID:F9dvJaA90
'PNGファイルを一括して16色に減色するVBScript

Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run "mogrify -colors 16 *.png"
Set objWshShell = Nothing

↑を「png一括減色16.vbs」とでも名前付けて保存して実行すると、
同じフォルダにある全てのPNGファイルを使用色数16にまで減色する

※注意 上書き保存
2013/09/27(金) 16:46:50.33ID:tInXtplb0
for %i in (*.png) do mogrify -colors 16 %i
2013/09/28(土) 05:59:10.01ID:svfkGwFO0
mogfify -colors 16 *.png
31名無しさん@お腹いっぱい。
垢版 |
2013/10/02(水) 06:41:07.32ID:BZzNsCKM0
'ドロップしたフォルダのPNGファイルを一括して16色に減色するVBScript
'複数フォルダ可。フォルダのpathに全角文字を含んでいると失敗する
'VBScriptとImageMagickの対応する文字コードが違うのが原因
'基本的にVBScriptはUTF-8が使えない

Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objParm = Wscript.Arguments

If objParm.Count < 1 Then
WScript.echo "フォルダをドロップして下さい"
Else
For i=1 To objParm.Count
cmd = "mogrify -colors 16 """ & objParm(i - 1) & "\*.png"""
objWshShell.Run cmd
Next
End If

Set objWshShell = Nothing


↑を「png一括減色16ドロップ対応.vbs」とでも名前付けて保存して実行すると、
ドロップしたフォルダ(複数可)にある全てのPNGファイルを使用色数16にまで減色する

※注意 上書き保存
2013/10/02(水) 15:12:44.30ID:DAtRK3R40
二つの画像の違いを見る

composite -compose difference A.png B.png diff.jpg

identify -format "%[mean]" diff.jpg
これで0が返ってきたなら一致
2013/10/03(木) 00:18:02.50ID:cqkS0n7M0
どういう時に日本語ファイル名が失敗するのか、
どうやれば成功するのかをまとめてくれ
34名無しさん@お腹いっぱい。
垢版 |
2013/10/15(火) 12:50:59.60ID:ve3meM4I0
irfanviewの自動色調補正と同等のことをやりたいんだけど
どうしたらよいのか皆目見当もつかぬわ
3531
垢版 |
2013/10/16(水) 19:07:12.66ID:KzXW27Tb0
>>31 のスクリプトだと非同期モードで実行されるので、いっぺんに複数のウィンドウが開いて気持ち悪いかもしれない

同期モードで実行したい場合は、
objWshShell.Run cmd

objWshShell.Run cmd,1,True
に書き換えよう
2013/10/17(木) 05:45:14.76ID:57XQsGIh0
色調補正ってこうじゃない
convert target.jpg -normalize result.jpg
2013/10/17(木) 11:52:43.33ID:2e1dYSbZ0
>>36
それだとだいぶダサいんだよ
2013/10/17(木) 12:18:02.21ID:57XQsGIh0
いいのあったよ
アグレッシブだけど白トビしない自動画像補正スクリプト
http://fallabs.com/blog-ja/promenade.cgi?id=155
2013/10/17(木) 19:18:33.67ID:2e1dYSbZ0
>>38
ふぉぉぉおお! これいいじゃないの! よさげじゃないの!

ダメ元でも聞いてみるもんだぬ
うちにきてファックしてもいいぞ
2013/10/17(木) 20:34:11.96ID:u9DU3h160
スクリプト機能があるのかと思った
2013/12/21(土) 17:17:12.62ID:c49WAIl30
最近の IM (Win8 x64用バイナリ)は Windows でも日本語ファイル名が使えるようになってた。すてき
2013/12/21(土) 23:49:17.42ID:r77mwltI0
マジか
っていうか、何でここまで国際化が遅れてたんだろう
2013/12/30(月) 09:24:53.31ID:3RxuQS120
identify -list font
フォントのリストアップ
2013/12/30(月) 09:59:48.26ID:cdC3mA440
portableのx64は無いのだろうか
2014/01/17(金) 21:44:54.55ID:4BAKXmKO0
age
2014/02/01(土) 01:31:38.55ID:vvV4r4dZ0
ついに Q16-x86-dll が無くなっちゃったなぁ。
自分でビルドできないひとはお手上げか。
47名無しさん@お腹いっぱい。
垢版 |
2014/02/13(木) 06:49:42.79ID:KmsrQg7Ui
jpg画像をまとめて左に90度回転したいのですができますか?
48名無しさん@お腹いっぱい。
垢版 |
2014/02/13(木) 10:54:41.68ID:fLLKCgHbP
かなり難しいな
2014/02/13(木) 13:33:34.60ID:Bma3auF00
>>47
jheadで回転をキャンセルできるよ!
50名無しさん@お腹いっぱい。
垢版 |
2014/02/13(木) 17:01:42.72ID:vIYF1MrZi
>>49
このソフトは知らなかったのでありがたいです
d.hatena.ne.jp/iww/20131007/jpegtran

強制的に回転させる方法はないでしょうか?
2014/02/13(木) 22:09:20.13ID:f/d6TnR30
単純に 
-rotate 270
じゃいかんのか
52名無しさん@お腹いっぱい。
垢版 |
2014/02/14(金) 15:14:55.60ID:215Mkg8Li
>>51
jhead -rotate 270 xxx.jpg
jhead -rotate270 xxx.jpg
convert -rotate 270 xxx.jpg
convert -rotate270 xxx.jpg
でやってみてもダメでした

jheadは情報表示だけみたいです
2014/02/14(金) 16:16:49.08ID:LjtCXk5c0
出力ファイル指定し忘れてる?

convert -rotate 270 aaa.jpg bbb.jpg

上書きならmogrify

mogrify -rotate 270 aaa.jpg
2014/02/15(土) 00:24:48.35ID:NSPOsUGf0
なんでコマンドを探るモードなんだ
2014/02/15(土) 23:16:52.23ID:nOO0GCdL0
>>54
カービー将軍に連絡をとってくれ
56名無しさん@お腹いっぱい。
垢版 |
2014/02/18(火) 19:53:17.43ID:ERetZsQ8i
>>53
ありがとうございます
convert -rotate 270 *.jpg *.jpeg
こんなかんじでやってみたのですが、画像を作成することは出来ました。
ただ、出力したものが
*-01.jpeg
みたいな感じでアスタリスクがつくのと番号が2桁なので困っています
元ファイル名00001.jpg
みたいな出力にしたいのですができますでしょうか?
2014/02/18(火) 20:27:20.82ID:6KvpMwg30
>>56
出来るよ。詳細はマニュアル読んでくれ。
http://www.imagemagick.org/Usage/files/
58名無しさん@お腹いっぱい。
垢版 |
2014/05/21(水) 11:12:58.23ID:DYA1g3kw0
もぐりふぁい
2014/06/12(木) 17:08:42.39ID:VXMZ5MO10
psdにアクセスするときhoge.psd[0]でレイヤー統合済みの画像にアクセスできるけど
この画像のアルファ値は実際の値と異なる時がある

例えば丸いボタンの絵で周りが透過してあるとして
convert hoge.psd[0] hoge.png
でアルファ付きpngが出せるが、透明部分との境界にフリンジが付くことがある
Photoshopでpsdを開くとフリンジは付いていない

しょうがないのでPhotoshopのバッチで処理したけど
imagemagickでフリンジがつかない様に綺麗に透過させるやり方、誰か教えて頂けませんか・・・
オプションでそういうのがあるんじゃないかと思うんだけど、見つからない・・・
二度手間だけどmatteオプションでグレースケールマスク画像を作り、-compose CopyOpacityさせる方法を試したけど
結局hoge.psd[0]でアクセスできる画像自体の透過値がおかしいから意味なかった
悩ましいくねくね
2014/06/25(水) 10:19:59.45ID:S5ReevZl0
特定のパレットで減色するオプションを教えてください。
例えば、純赤、純黄、純緑、純マゼンダ、純青、黒のパレットです。
2014/06/25(水) 17:18:09.85ID:jUKePWys0
>>60
http://www.imagemagick.org/Usage/quantize/#remap
6260
垢版 |
2014/06/27(金) 08:16:57.56ID:H3B3dnRP0
ありがとうございます
2014/08/14(木) 19:22:00.57ID:DEob972Y0
convert x.png -separate -delete 0 -delete 1 -colors 16 -format '%c' histogram:info:
するとなぜか8色程度にしかなってないのだけど、何が悪いんだろう?
64名無しさん@お腹いっぱい。
垢版 |
2014/10/10(金) 13:47:59.59ID:CEfbHwcg0
convert -depth 24 a.png b.png
24bitのpngにしたいのですがこれをやると無駄に賢くて
色数が少なければグレースケールや4bit colormapなどになってしまいます
強制的に24bitにしたいのですがどうすればいいのでしょうか
賢さが憎い
2014/10/11(土) 00:08:53.96ID:UATgtY660
convert a.png png24:b.png
2014/10/18(土) 18:29:15.03ID:cTZMyQD10
graphicsmagickとの違いがいまいちわからん。
フォークした当初はopenmpへの対応なんかが違いだったみたいだけど、今はどっちも
対応してるようだし。オプションの内容やコマンドの書式が違うくらいか?
-resizeオプション使った時の結果はgraphicsmagickのほうが綺麗だったけど。
2014/10/22(水) 02:14:26.66ID:b/Q7nLLL0
一番の差は、ImageMagicの方が、画像加工のコマンドが多いって所かな
68名無しさん@お腹いっぱい。
垢版 |
2014/10/22(水) 09:29:00.97ID:uyUcn0GH0
ImageMagicじゃgif作るのがおっそくてGraphicsMagick入れたなたしか
だがGMはGMでたしか透過色の処理かなんかでバグっててIMもつかってる
2014/11/20(木) 23:46:03.73ID:jHa9/4Be0
convert -sigmoidal-contrast 3,0% dark.jpg light.jpg
2014/12/13(土) 01:43:44.18ID:rqg5YKNU0
gmは高速だけど低画質になることが多いな
71名無しさん@お腹いっぱい。
垢版 |
2015/01/13(火) 15:45:51.55ID:C2+TnqYf0
DOSじゃ使わん
72名無しさん@お腹いっぱい。
垢版 |
2015/01/25(日) 10:21:47.80ID:SFunhDD80
win版はimportついてないのか
バッチで使える軽いキャプチャない?
2015/01/27(火) 05:53:00.83ID:Tiouzylp0
気軽に「こんなソフトありませんか?」Part.167
http://anago.2ch.net/test/read.cgi/software/1421668938/
74名無しさん@お腹いっぱい。
垢版 |
2015/05/18(月) 16:31:49.73ID:YSxhg2qM0
ImageMagicを使ってpngファイルにcHRMとgAMAが含まれているか調べたいのですが
-verboseを使えば調べることができるのですが、
いちいちプログラムで検索して抽出するのが面倒なので
そこの情報だけを抽出するコマンドってありませんか?

それとpng画像ファイルから
cHRMとgAMAの情報を削除してpngファイルを再保存したいのですが
どうすれば良いですか?
-stripのコマンドを試してみましたがうまくいきませんでした。

よろしくお願いいたします。
 
2015/05/18(月) 22:11:19.19ID:Cox+89n30
>>74
物凄く適当だけどこんなんでどう?。

identify.exe -verbose %1 | Findstr "png:cHRM png:gAMA"
IF NOT ERRORLEVEL 1 pngcrush_1_7_85_w32.exe -rem cHRM -rem gAMA -l 9 %1 "%~dpn1_pngcrush.png"

pngcrushはここからダウンロードしてきてね。
http://sourceforge.net/projects/pmt/files/pngcrush-executables/1.7.85/
76名無しさん@お腹いっぱい。
垢版 |
2015/09/13(日) 16:40:29.45ID:PXhSM1960
mogrify -rotate 360 image.jpg
2015/10/03(土) 17:07:20.34ID:YIMV4B1r0
Windows7でImageMagick-6.9.2-Q16にてファイル名に縦横幅を記しjpegにして縮小したいので

convert in.png -resize 25% -set filename:outfile out%wx%h.jpg %[filename:outfile]

として縮小はできたもののバイナリで見るとpngのままでした。
out.jpg で指定すればjpegにはなってくれるものの幅も両立させるにはどうしたらいいでしょうか。
2015/10/04(日) 02:12:34.03ID:Fq7/LTiQ0
こうかな?

convert in.png -resize 25% -set filename:outfile %wx%h out%[filename:outfile].jpg
2015/10/04(日) 03:23:35.36ID:VrTjRqfL0
>>78
jpegに変換できてました。ありがとうございます。
拡張子をfilename: に含めてはいけないんですね。
2015/11/14(土) 11:29:43.49ID:jYqKNt8a0
convert -trim -fuzz 50% in.jpg out.jpg
81名無しさん@お腹いっぱい。
垢版 |
2015/12/06(日) 19:08:53.32ID:1kTbdrfM0
ImageMagickとVBAを使ってpng画像に文字列を描画したいのですが
・バッチファイル
・VBAでのshellコマンド
を使った方法ではうまく文字列を描画したり
convertコマンドを使うことに成功しました。

処理速度を上げるためにDLLを使いたいのですがなぜかうまくいきません。

https://sites.google.com/site/torimemoforwork/vba/dll/imagemagick
このサイトに書かれた方法を試してみたのですがうまくいきません。
win8 64とExcel 2010 32bitを使っているので
32bit版をインストールして参照設定も行っているのですが

実行時エラー -2147215503
"convert.exe: unable to load module `C:\Program Files\ImageMagick-6.9.1-Q16\modules\coders\IM_MOD_RL_JPEG_.dll': The specified module could not be found.
というエラーが発生します。

検索してみると同じような症状が書かれたページが見つかりましたが
解決策が分かりませんでした。

どうすればDLL版を使えますでしょうか?

http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&;t=28134
82名無しさん@お腹いっぱい。
垢版 |
2015/12/06(日) 20:44:31.68ID:1kTbdrfM0
すいません
過去のバージョンが残っていたようで
アンインストールしたらうまくいきました
 
しかしDLL版よりもshellを使った方が高速のようですね
 
2015/12/10(木) 02:31:11.60ID:mBZWV0Ou0
Excelでやるからじゃないの。
VBやCやC++, C# などから使ってみると速いんじゃないのかな
2015/12/12(土) 03:18:22.16ID:HKn+JiVS0
教えてほしいのですが

アニメGIFの特定の画像を取り出すのは
convert Anime.gif[5] out.png
とかで取り出すと思うんですが

そのgifが 差分最適化?されてると 差分画像しか取り出せません
どのようにしたらよいのでしょうか?
convert Anime.gif[5] -coalesce out.png
とかしても変わらず
2015/12/12(土) 10:41:08.92ID:pZghO+1k0
思いつきだけど -adjoin オプション付けてみるとか
2015/12/12(土) 11:16:30.63ID:5lWaB6yC0
montageを使うのじゃ
http://www.imagemagick.org/Usage/anim_basics/#coalesce
2015/12/12(土) 18:51:51.28ID:ACvSeZV80
横からだがいいこと教えてもらった
2015/12/12(土) 20:01:19.69ID:JG0cC7sk0
>>86さんの情報も有益だけど>>84さんのやりたいこととは違うような。
>>84さんはgifアニメの中の特定の1フレームだけ取り出したいけど↓みたいになっちゃうって事でしょ?
http://i.imgur.com/B9JvhI7.png

>>86さんの方法だとgifアニメのフレームを並べた画像になっちゃう気がする。
もしかしたら自分が何か勘違いしてるだけかもしれないけど。
8984
垢版 |
2015/12/12(土) 21:28:28.07ID:HKn+JiVS0
>>85-88
みなさんありかとうこざいます。
>>88
その通りです

回答を元に色々試行錯誤してみたのですが目的の画像が取り出せず
つたない英語力を駆使して 今日丸1日ぐぐりながらなんとか目的が達成できました
ついさっき VBS+HTA のアプリ(もどきww)に実装して動作テスト中です

正しい使い方かは わからないんですが
convert Anime.gif[0-5] -coalesce -delete 0-4 out.png
で単一フレームの取り出しに成功したので

最終的に
convert Anime.gif[0-5] -coalesce -delete 0--2 out.png
というコマンドに落ち着きました

PS.
montage は全フレームを並べたサムネイル画像を作るのに使ってはいるんですが
これで単一フレームを取り出すってのが >>86 見ても理解できなかった
(やっぱ英語は苦手じゃ)
90名無しさん@お腹いっぱい。
垢版 |
2015/12/19(土) 14:24:11.49ID:Ef/b59oa0
ImageMagickを使ってpng画像上に文字列を書いているのですが
一部の文字だけを斜体するにはどうしたら良いですか?
全体を斜体することはできても
一部の文字だけ変更することができないのですが

どなたか教えてください
 
91名無しさん@お腹いっぱい。
垢版 |
2016/07/25(月) 19:24:30.49ID:mN0Tz4rH0
2016-7-11に convert も mogrify コマンドも無いんですが
どうすれ?
2016/07/25(月) 21:51:45.35ID:tEp1aw870
どこへ向かっているんだ
2016/09/14(水) 16:50:42.20ID:7rbtPo5X0
派生版?のGraphicsMagickってどうなの?
本家より処理が速いらしいけど
2016/09/17(土) 00:41:24.91ID:9oEFtWsW0
動画エンコードのハード支援みたいなことを、
静止画変換の大量処理でも使えると有り難い
2016/09/17(土) 02:33:03.38ID:UyugsUtD0
>>93
>>66-70 で「速いけどバグあり」「低画質」って言及されてますね
でも2年前の話だし…今はどうなってるんでしょうねえ

既に見てるページかもしれないけど
ttp://labs.gree.jp/blog/2013/05/8132/
これも2013年の記事だし…
現バージョンでベンチ取ったり画質比較しないとちょっとわかんないですね

元々はImageMagickの開発が活発過ぎて
仕様が平気でガンガン変わるか嫌になってらforkしたとどこかで見かけたような
たしかに自分も、ImageMagick使うスクリプト書いてみたら
ImageMagickのバージョン上がった時に動かなくなって困ったことがありました
そのあたりのメンテナンスを楽にしたいときは選択肢に入るのですかね
(でも、脆弱性が見つかった際の修正頻度も検討しないと…)
96名無しさん@お腹いっぱい。
垢版 |
2016/09/22(木) 04:54:49.73ID:qOkkSMT10
abortを生かしたまま配布してるimagemagickにスピードどうこう言う方がおかしい
引数ミスでよく出るけど
処理ループの中もabort分岐だらけの筈
97名無しさん@お腹いっぱい。
垢版 |
2016/09/22(木) 16:12:26.30ID:iMtO0vXe0
abort分岐だらけだとどういう問題がありますか?
 
2016/09/22(木) 18:15:04.81ID:nh5bOkRo0
abort分岐って何?
2016/10/17(月) 17:02:16.85ID:JlWw6QZ60
ImageMagick 7.0.3-2 Q16 x86

cropの処理が訳分かんねぇ

同じ画像に対して↓をかけ続けると500x500→490x490→480x480となる(これが正常な動作のはず)
mogrify.exe -crop 500x500+10+10 -format bmp *.bmp

が、これが出力をpngにすると最初の1回は動作するけど後はそのサイズのまま(500x500→490x490→490x490→490x490〜)
mogrify.exe -crop 500x500+10+0 -format png *.png
2016/10/17(月) 18:21:33.96ID:nhpa5IRr0
repageしなきゃデータ上の解像度は変わらんのじゃね?
2016/10/17(月) 18:28:56.36ID:nhpa5IRr0
bmpにはオフセットデータが無いから出力すると表示解像度ままのデータになるけど
pngにはあるからオフセット弄らずcropすると連続でやっても意味がない
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況