Hatena::Groupnicovideo

にわかな奴の砂場

    使えそうなものがあれば適当にどうぞ。(自己責任的な意味で) 過去ログ

2008-06-10

[][]「またニコニコ大百科見てる」とtwitterに投稿するリンクを作成するGreasemonkeyスクリプト 23:46 「またニコニコ大百科見てる」とtwitterに投稿するリンクを作成するGreasemonkeyスクリプト - にわかな奴の砂場 を含むブックマーク はてなブックマーク - 「またニコニコ大百科見てる」とtwitterに投稿するリンクを作成するGreasemonkeyスクリプト - にわかな奴の砂場

g:nicovideo:id:koizuka:20080322:matanico_tagをちょろちょろといじっただけです。@poolmmjp及び@koizukaへ感謝を。

f:id:hdkINO33:20080610232434p:image

こんな辺鄙なところに出ます。で、押すと

またニコニコ大百科見てる : シャイニングスパイラルウンコとは http://tinyurl.com/58s5v7

http://twitter.com/hide32767/statuses/831362206

こんな感じでポストされます。

インストールは→http://homepage3.nifty.com/hide32767/mata_dic_nicovideo.user.js

自己責任でよろしければどうぞ。

追記

@hide32767 splitだとハイフン入ってる記事でおかしくなるから .match('(.*) - \u30CB\u30B3\u30CB\u30B3\u5927\u767E\u79D1')[1]; とかの方が良いのでは。

http://twitter.com/22century/statuses/831437165

と言うコメントを頂いたので、この内容で差し替えてみました。ありがとうございます>@22century

と言う事で下のコメントは忘れてくだしあ。

追記(6/11)

H1要素が無いと[また見てる]ができない気がしたので、できる位置を「最初のH1要素の上」から「id="article-tab-nico"を持つ要素の上」に変更してみた。

f:id:hdkINO33:20080612003740p:image

追記(7/3)

ちょびちょびと更新。[また見てる]ができる位置を「id="contents"を持つ要素の上」に変更して、動くURIを「http://dic.nicovideo.jp/*」へ変更。検索とかでも打てるようになった。

あと@22centuryからまたマッチングパターンを教えて頂いたので反映致しました。いつもありがとうございます。

@hide32767 あーあー、いつか言おうと思って忘れてたんですけど。大百科見てる~のぐりもんこれの方が良かったです .match('(.*) - [^-]+')[1]

http://twitter.com/22century/statuses/848546215

f:id:hdkINO33:20080703010546p:image

hdkINO33hdkINO332008/06/11 00:35読みがな付きがいい人は32行目のsplit(" ")をsplit(" - ")へ書き換えておくれやす<そんな適当な

2008-05-21

[][]WindowsGIMPで複数ファイルを自動処理する 01:28 WindowsのGIMPで複数ファイルを自動処理する - にわかな奴の砂場 を含むブックマーク はてなブックマーク - WindowsのGIMPで複数ファイルを自動処理する - にわかな奴の砂場

追記(7/24)

WindowsのGUIでも使える「David's Batch Processor」と言うのがあるようです。自動カラー補正やアンシャープマスクなどを一律に掛けられるようなので、これを使いましょう。

下記はDBPではできない事をやりたい時だけ用いましょう。

概要

GIMPにはアクションレコーダが存在せず、またバッチ処理用にScript-Fuと言う機能は存在するがSchemeで書かないといけない為に難解*1であり、かと言ってアクションレコーダなScript-Fuも存在しない*2為に「GIMPを用いて複数ファイルを対象としたバッチ処理をする」のは異様にめんどくさいものである訳だが*3、何か閑だったので「複数ファイルを自動補正処理して書き出す何か」を書いてみた。

ちなみに書いたやつなんだが、自分の環境ではScript-Fuの関数内でimage,drawableをdefineしないとUnbound Variableが返ってきてしまい処理できなかった。スマートじゃないなあ……と言うかファイルを開くだけなのに相当な時間取られてしまった。こういうのはバッドノウハウじゃよー。

とりあえずかなりダサい実装なので、もっと気の利いた方法があったら教えて頂けると喜びます。俺が。

免責

本文の記述を元に行われた全ての作業より発生した事象について、筆者は全ての責任を負わないものとします。(棒読み)

必要なもの

実行においては、

  • ActivePerl。5.8.8で動作確認。
  • GIMP。2.4で動作確認。ちなみにProcedure Browserが無いと処理が書けない(リファレンス的な意味で)。

書き直しについては、

  • 英語。Procedure Browserの内容が何となく読める程度の。
  • Schemeの知識。とりあえず関数呼出・定義くらいは何となく判る程度の。

と言うところ。Perlの知識は別にいらない、「掛ける処理名」のところを任意名に変更するくらいだろうか。

使い方

  1. gimp-batch.pl」を%PATH%に含まれるディレクトリへ配置する。
  2. 「my-image-normalize.scm」を%HOMEDRIVE%%HOMEPATH%\.gimp-2.4\scripts\へ配置する。
  3. cmd.exeを起動し、処理対象のファイルが詰まっているディレクトリへ移動。
  4. 引き続き「gimp-batch.pl」をコマンドプロンプトより実行。

動作

gimp-batch.pl」で、取得されたファイルリストを使って一括処理用の「run-all.scm」を生成し、それをGIMPのバッチモードで実行している。生成されるコードは以下のようなもので、力技過ぎワロタと言う感じ。

(define (run-all)
	(my-image-normalize "H:\\tmp\\test\\seq2\\imas_0000.bmp" "H:\\tmp\\test\\seq2\\new\\imas_0000.bmp")
	(my-image-normalize "H:\\tmp\\test\\seq2\\imas_0001.bmp" "H:\\tmp\\test\\seq2\\new\\imas_0001.bmp")
	(my-image-normalize "H:\\tmp\\test\\seq2\\imas_0002.bmp" "H:\\tmp\\test\\seq2\\new\\imas_0002.bmp")
   :
	(my-image-normalize "H:\\tmp\\test\\seq2\\imas_7978.bmp" "H:\\tmp\\test\\seq2\\new\\imas_7978.bmp")
	(my-image-normalize "H:\\tmp\\test\\seq2\\imas_7979.bmp" "H:\\tmp\\test\\seq2\\new\\imas_7979.bmp")
	(my-image-normalize "H:\\tmp\\test\\seq2\\imas_7980.bmp" "H:\\tmp\\test\\seq2\\new\\imas_7980.bmp")
	(gimp-quit 0)
)
(script-fu-register "run-all"
	"/Xtns/Script-Fu/misc/run-all"
	"dummy for batch"
	"null"
	"null"
	"2000"
	""
)

改造と言うか任意処理の追加について

実際にスクリプトを書き始める前に画像を1枚使って、処理を見た目で確認する事。ここで使ったパラメータを後で書くスクリプトへのパラメータとして使用する*4ので、メモっておくと幸せになれるかも。

とりあえず今回のScript-Fuスクリプトは

  • 入力ファイルを開く(file-*-load 或いは gimp-file-load)
  • 処理を書く(いろいろ)
  • 出力ファイルへ書き出す(file-*-save 或いは gimp-file-save)

と言う流れなので、Procedure Browserから使いたい処理を検索して、適宜パラメータを与えて「処理を書く」のところへ記述すればいい。言うまでも無い事だけど、上に書いた処理から実行されて、下にある処理は上の処理の結果を受けたものを処理する形になる。

注意事項

  • Windows XPの場合。MacとかLinuxとかだとまた違うのかも判らない。
  • 極めて遅い。1280x720のBMPを処理させたところ、660枚/25分と言う結果。plug-inな処理の別プロセス生成処理オーバーヘッドが大きい?ような気がする*5。自動色補正掛けるだけだったらPhotoshop Elementsの方が圧倒的に速い、けどあっちもそれほど安定している訳でもない。
  • 660ファイル処理したところでGIMPの確保メモリが2GBを突破して落ちたので、500ファイルくらいに抑えておくのが賢明。64bit版が欲しいなあ。

参考文献

GIMP の batch mode が上手く動かないよ~」→「その程度の処理ならImagemagick使えよ。このバカ」みたいな流れがパターン化してる気がしてきた。

これには完全に同意せざるを得ない。ImageMagickって自動HSV伸張あったっけ?

gimp-batch.pl - 一括処理用フロントエンドとしてのPerlスクリプト

実行時のカレントディレクトリ内にあるBMPファイルを一括取得して、(無い場合は作成し)newディレクトリへ処理結果を出力する、と言う流れ。%PATH%に含まれるディレクトリへ配置するか、フルパス実行で。

追記(7/24):一部記述誤りを修正。

use encoding 'shiftjis';
use strict;
use warnings;

# 掛ける処理名
my $sf_proc = 'my-image-normalize';

# Script-Fuのスクリプト置場 (基本的に%HOMEDRIVE%%HOMEPATH%\.gimp-2.4\scripts\)
my $sf_dir = $ENV{'HOMEDRIVE'} . $ENV{'HOMEPATH'} . '\\.gimp-2.4\\scripts\\';
# 一括処理用のSchemeスクリプト名
my $dummy = $sf_dir . 'run-all.scm';

# GIMP コマンドラインオプション
my $gimp = 'gimp-2.4.exe --no-interface --no-data --no-fonts --batch';

# カレントディレクトリの取得
my $path = qx{chdir};
$path =~ s/\\/\\\\/g;
chomp $path;
# 処理対象全ファイル取得
my @files = glob "*.bmp";

# 一括処理用の一時スクリプト作成
open my $out, '>', "$dummy";
print $out "(define (run-all)\n";
foreach (@files) {
	my $src = $path . '\\\\' . $_;
	my $dst = $path . '\\\\new\\\\' . $_;
	print $out "\t($sf_proc \"$src\" \"$dst\")\n";
}
print $out <<'TAIL';
	(gimp-quit 0)
)
(script-fu-register "run-all"
	"/Xtns/Script-Fu/misc/run-all"
	"dummy for batch"
	"null"
	"null"
	"2000"
	""
)
TAIL
close $out;

# 出力
if (!-d 'new') {mkdir 'new';}
system qq{$gimp "(run-all)"};

__END__

my-image-normalize.scm - Script-Fuで実行されるSchemeスクリプト

※%HOMEDRIVE%%HOMEPATH%\.gimp-2.4\scripts\へ配置して下さい。

BMPファイルを開いて、自動正規化して、自動HSV伸張して、アンシャープマスクを掛けて、別ディレクトリへBMPで保存する、と言うだけの処理。自動ホワイトバランス補正も入れてみたけれど、コマ毎にバタつくのでコメントアウトしている。

(define (my-image-normalize inFile outFile)
; Load an image
	(define image)
	(set! image (car (file-bmp-load 1 inFile inFile)))
; get drawable
	(define drawable)
	(set! drawable (car (gimp-image-active-drawable image)))
; color normalize
	(plug-in-normalize 1 image drawable)
; hsv-auto-stretch
	(plug-in-autostretch-hsv 1 image drawable)
; whitebalance
;	(gimp-levels-stretch drawable)
; sharpness
	(plug-in-unsharp-mask 1 image drawable 1.0 0.5 40)
; save file
	(file-bmp-save 1 image drawable outFile outFile)
)

; Register our script with script-fu.
(script-fu-register "my-image-normalize"
	"/Xtns/Script-Fu/misc/my-image-normalize"
	"image normalizer"
	"Hide"
	"Hide"
	"2008"
	""
	SF-VALUE "inFile" "\"hoge.bmp\""
	SF-VALUE "outFile" "\"new\\hoge.bmp\""
)

*1UNIX系ならGIMP-Perlとかある。Windowsには無い

*2:古いGIMPで動くものはあった気もする

*3:ググってもズバリ、ってのにヒットする事は無かった印象。日本語資料少ないしね……

*4:アンシャープマスクとか

*5:プラグインは個別のexeファイルとして存在

2008-05-19

[]ニコニコ座談会 00:17 ニコニコ座談会 - にわかな奴の砂場 を含むブックマーク はてなブックマーク - ニコニコ座談会 - にわかな奴の砂場

g:nicovideo:id:kausina:20080502:1209745998の座談会に参加しました。

ニコニコへ動画を上げてる人間と言う参加者が、当日も含めて自分が初めてだったようなので、その辺の話を主に聞かれたり話したりしました。飽くまでその辺の一介のうp主として、自分の場合は、と言う事で。部員諸氏と話した内容も混ぜ混ぜ。

  • 付いたタグのロックは実はした事が無い
  • 付いて面白かったタグは「修羅場トリオ」と「ゆとりコンビ
  • アップロードして楽しいのはやっぱり反応がある事。「かわいい」と言うコメントが付いたら勝ちだと思っている
  • 逆に残念だった時の話として、何件かの紹介blogさんで御紹介頂いたにも関わらず伸びなかった時に、色々と申し訳ない気持ちになった
  • ネタが出てくるのは大抵アイマスやってる時か通勤中に何か聴いてる時。閃いても実装に至らなかったり、放置する事も
  • エンコードは冥府魔道。アニメエンコードとかそろそろ10年近い歴史があるような

以下、花見川さんの記事(d:id:ch1248:20080518:p2)への補足のような何か。

  • というか、「衣装換え」「リップシンク」ってそんな簡単にできたのか (これは後の飲み会での話題だったかも)

どちらにしても「作ってる人が苦労してる点」と「見てる人が『作ってる人が苦労してるな』と思う点」とは結構ズレてるんじゃないかなあ、と*1。どうも見る方に「1フレームずつ手を入れて作る」事をなまじ知っているせいか凝ってたらどれもそうだ、と言う誤解がある*2ように感じる事があったので、いやいやあんまりそうでも無かったりもしそうですよ、と言う話。この話題は機会があればもうちょっと突っ込んでみたいところ。

リップシンクの話の中で、「(被写体の動きが無いと言う意味で)はめ殺しのアップショットでやってるケースなら、AEのCC Splitとか使ってキーフレームアニメーションさせてやれば中割り不要な気がするので、見た人が思ってるような苦労はしてないかも?」と言うような事を言った記憶*3。後で見返してみると俺が文脈を捉え間違えていた気がするなあ、申し訳ないところです。

なおこの話題でイメージしていたのは、例えば↓の1:00辺りにある小鳥さんの語りの部分。実際にどうやってるのかは当然ながら判らないけれど。

アイドルマスター DA SCHOOL RAP / バブルガム・ブラザーズ

ちなみにダンスとリップを両方合わせるのは勘弁してくれと言う位に面倒なので、また別の話。衣装換えについては……実演動画でも上げられりゃいいんですが、まあそのうちに。

  • 東方ファンはおおまかに4種類に分かれるらしい

これは以下の通り、かなり主観的。*4 *5

とりあえずこんなところかなあ、後で書き足すかもしれず。

2008-03-22

[][][]L4U!で1本 04:48 L4U!で1本 - にわかな奴の砂場 を含むブックマーク はてなブックマーク - L4U!で1本 - にわかな奴の砂場

作ってみた。

up者コメ欄にも書いた通り、DLCカタログ創刊号のカレッジオブエンジェル+ベレーを見て「キタァーッ!」と思い、iPodのシャッフル演奏で流れてきた『エネルギー』を聴いた瞬間に「これだ!」と思って仮組をしたのが2/26くらいの話。

……おかしいですね、今日はもう3/22(;´Д`) 何でこんな時間掛かってるかと言えばtwitterで下らん事撒き散らしてたりいつもニコニコ動画見てたりするせいで(ry 何か色々と申し訳ない気持ちで一杯です。

2008-03-18やられた

[][]whoPの新作が凄まじい件について 23:23 whoPの新作が凄まじい件について - にわかな奴の砂場 を含むブックマーク はてなブックマーク - whoPの新作が凄まじい件について - にわかな奴の砂場

言葉が無い。

動画それ自体から溢れ出る気迫も然る事ながら、何と言うかこの、しっとりと言うか湿っぽいというか、触覚にまとわりつく情感で演出された動画ってあんまり観た事ない*1のだけど、これは間違いなくその中に居る。sm1803137の『-MEMORY-』辺りから演出が飛躍的に見事になったなあとは思っていたけれど、本当に凄い。

ちなみにこれを見る数時間前にはid:cocoonPid:sikii_jさんなどと映像技術やらツールやらあーだこーだと話してたのだけど、何かそれが一気に馬鹿らしく思えてしまった。力のある映像の前にはにわか映像論なんて木っ端微塵になるもんなんだよ!とか。

ホントにねー、一度は見て欲しいです。

続きを読む

*1:この情感を意図して演出していると思わせられるのは寡聞ながらRidgerPやナオキPくらいしか思いつかない