Wednesday, May 30, 2007

ImageMagickで上下左右方向に徐々にモーションブラーをかける

ImageMagickで上下左右方向に徐々にモーションブラーをかけるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem 右に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+180 ( sample8.jpg -channel RGBA -fx "i<w*8/10?p:0" -motion-blur 0x10+180 ) ( sample8.jpg -channel RGBA -fx "i<w*6/10?p:0" -motion-blur 0x5+180 ) ( sample8.jpg -channel RGBA -fx "i<w*4/10?p:0" -motion-blur 0x2+180 ) ( sample8.jpg -channel RGBA -fx "i<w*2/10?p:0" ) -flatten sample167a.png

元画像(sample8.jpg)


出力画像(sample167a.png)


rem 左に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+0 ( sample8.jpg -channel RGBA -fx "i>w*2/10?p:0" -motion-blur 0x10+0 ) ( sample8.jpg -channel RGBA -fx "i>w*4/10?p:0" -motion-blur 0x5+0 ) ( sample8.jpg -channel RGBA -fx "i>w*6/10?p:0" -motion-blur 0x2+0 ) ( sample8.jpg -channel RGBA -fx "i>w*8/10?p:0" ) -flatten sample167b.png

出力画像(sample167b.png)

rem 下に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+270 ( sample8.jpg -channel RGBA -fx "j<h*8/10?p:0" -motion-blur 0x10+270 ) ( sample8.jpg -channel RGBA -fx "j<h*6/10?p:0" -motion-blur 0x5+270 ) ( sample8.jpg -channel RGBA -fx "j<h*4/10?p:0" -motion-blur 0x2+270 ) ( sample8.jpg -channel RGBA -fx "j<h*2/10?p:0" ) -flatten sample167c.png

出力画像(sample167c.png)

rem 上に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+90 ( sample8.jpg -channel RGBA -fx "j>h*2/10?p:0" -motion-blur 0x10+90 ) ( sample8.jpg -channel RGBA -fx "j>h*4/10?p:0" -motion-blur 0x5+90 ) ( sample8.jpg -channel RGBA -fx "j>h*6/10?p:0" -motion-blur 0x2+90 ) ( sample8.jpg -channel RGBA -fx "j>h*8/10?p:0" ) -flatten sample167d.png

出力画像(sample167d.png)


2008/01/04追記
ver6.3.7では、以下のバッチファイルのように-channelの前に-matteを追加します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16

rem 右に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+180 ( sample8.jpg
-matte -channel RGBA -fx "i<w*8/10?p:0" -motion-blur 0x10+180 )
( sample8.jpg -matte -channel RGBA -fx "i<w*6/10?p:0" -motion-blur 0x5+180 )
( sample8.jpg -matte -channel RGBA -fx "i<w*4/10?p:0" -motion-blur 0x2+180 )
( sample8.jpg -matte -channel RGBA -fx "i<w*2/10?p:0" ) -flatten sample167a.png

rem 左に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+0 ( sample8.jpg
-matte -channel RGBA -fx "i>w*2/10?p:0" -motion-blur 0x10+0 )
( sample8.jpg -matte -channel RGBA -fx "i>w*4/10?p:0" -motion-blur 0x5+0 )
( sample8.jpg -matte -channel RGBA -fx "i>w*6/10?p:0" -motion-blur 0x2+0 )
( sample8.jpg -matte -channel RGBA -fx "i>w*8/10?p:0" ) -flatten sample167b.png

rem 下に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+270 ( sample8.jpg
-matte -channel RGBA -fx "j<h*8/10?p:0" -motion-blur 0x10+270 )
( sample8.jpg -matte -channel RGBA -fx "j<h*6/10?p:0" -motion-blur 0x5+270 )
( sample8.jpg -matte -channel RGBA -fx "j<h*4/10?p:0" -motion-blur 0x2+270 )
( sample8.jpg -matte -channel RGBA -fx "j<h*2/10?p:0" ) -flatten sample167c.png

rem 上に徐々にモーションブラー
%im%\convert.exe sample8.jpg -motion-blur 0x20+90 ( sample8.jpg
-matte -channel RGBA -fx "j>h*2/10?p:0" -motion-blur 0x10+90 )
( sample8.jpg -matte -channel RGBA -fx "j>h*4/10?p:0" -motion-blur 0x5+90 )
( sample8.jpg -matte -channel RGBA -fx "j>h*6/10?p:0" -motion-blur 0x2+90 )
( sample8.jpg -matte -channel RGBA -fx "j>h*8/10?p:0" ) -flatten sample167d.png

関連項目
ImageMagickで上下左右に画像を徐々にぼかす


No comments: