2008-02-02[n年前へ]
■ビジュアル画像スクリプティング環境を作る
「ビジュアル簡易スクリプティング環境」を作ってみようと思う。画像処理プログラミングに「ビジュアル言語」が向くかどうかは疑問なのだけれど、既存の処理の「組み合わせ」だけを変えるだけですむような用途であれば、そして、GUIの設計も同時に行わなければいけないような用途であれば、「ビジュアルなスクリプト」でも良いような場合もあるかもしれない。
ひとまず、操作感はYahooPipesを模範にし、処理データはImagePipes>に準拠するようにして、叩き台を作ってみることにしよう。
2008-02-10[n年前へ]
■ImagePipes準拠の”ビジュアル風”画像処理スクリプト
WireIt!を叩き台にして、ImagePipesフォーマットベースの”ビジュアル風”画像処理スクリプトの叩き台を描いてみる。Srcアップロードモジュール・逐次処理モジュール・遅延処理モジュール・表示モジュール…という基本形を描く。
2008-02-25[n年前へ]
■「ゴールデン/デッド・クロス」と「ナンシー版画」
株とか為替の売買のタイミングの指標である「ゴールデン・クロス」「デッド・クロス」というものを知った時に、対象ジャンルがどんなに違っていても、(専門的でない)基本的な技術はほとんど同じなのだな、と感じたのが「ナンシー版画アルゴリズム」を作った時後に、株や為替売買の指標となる「ゴールデン/デッド・クロス」を知った時だ。
ゴールデン・クロスとデッド・クロスというのは、何かの価値の「短期的な平均」が「長期的な平均」よりも上になったら(ゴールデン・クロス)、その価値が「上昇中」と判断し、その価値の「短期的な平均」が「長期的な平均」より下になったら(デッド・クロス)、その価値は「下降中」だと判断するやり方である。たとえば、何かの株価の「25日間の平均値」が「75日間の平均値」を上回ったら、その変化はなにかのノイズや誤差でなく「株価が確かに上昇傾向にある」ことを示していると判断し、その株価の「25日間の平均値」が「75日間の平均値」を下回ったら、株価が確かに下がり始めていると判断する、そういったやり方である。言い換えれば、「25日間の平均値」と「75日間の平均値」、すなわち、「短期的な平均」と「長期的な平均」が交差した瞬間が、「上げ」と「下げ」の境界地点だと判断するやり方である。そういった株や為替の上下の境界線を長期平均と短期平均の差分から判断する方法が、「ゴールデン・クロス/デッド・クロス」だ。
「ナンシー"小"関 風 パッチもん版画」作成ソフトの輪郭抽出アルゴリズムも、「ゴールデン・クロス/デッド・クロス」と完全に同じアルゴリズム(やり方)で作られている。実際のところ、このプログラムは10行に満たないほどの実にシンプルな「境界」検知プログラムに過ぎない。そして、その実現アルゴリズムは「狭い範囲で平均化した明るさ」が「広い範囲で平均化した明るさ」が等しくなる=交差する箇所がモノの「境界」だと判断するだけ、である。つまり、「ガウシアン差分」を行うことで顔や景色の境界線を描画した上で、さらに塗りつぶしを行うだけのアプリケーションが「ナンシー"小"関 風 パッチもん版画」作成ソフトである。
株や為替の売買の判断も、目に見えている画像の認識・判断も完全に同一のアルゴリズムで判断することができたりする。それは、対象とする現象(のジャンル)は違えども、どちらも「境界線」「分水嶺」判断をするという同じ作業に過ぎないのだから、至極当たり前の話であるのかもしれない。…けれど、それはやはり少し面白い話であると思う。全然違うように思える事柄が、完全に同一の処理で解決することができたり、一つの道具で全く違う(ように見える)世界を描くことができたりするのは面白いと思う。
2008-03-01[n年前へ]
■日本語変換再び
Perlで何かを作ったのは1年半くらい前が最後で、それ以降に使う新規作成するスクリプトはRubyを使うようになった。それとともに、ATOKの機能拡張ツールとして作ったAmetMultiも使わなくなっていた。
AmetMultiは、スクリプト・バッチ処理などを「辞書登録」しておけば、ATOKというIME(日本語変換プログラム)を使って、色んなプログラム処理ができる、というツールである。IME経由で入力した文字列や、クリップボードにコピーした内容を使ったスクリプティングをIMEで駆使することができる、文字処理も、日付処理も、画像処理も、とりあえず、とりとめもない色んなことができる、というものである。
最近ではWEB APIの速度も苦にならない程度になってきたので、久々にATOKとAmetMultiとRubyでも使って、何かツールを作ってみることにしよう。下のYoutubeリンクは。AmetMultiで画像検索や画像処理や文字処理(行番号付加)などを行っている例だけれど、WEB APIを簡単に使うことができ・その速度も十分速くなってきた今日この頃、それに応じた「スクリプト辞書」を作り直してみるのも面白いかもしれない。