Perlの画像処理モジュールメモ

僕はぜんぜん詳しくないのですが、Perlの場合はどれが一番モダンで使いやすいんですかね。 このブログを見てくださっている方はわかるかと思いますが、ブラウザ上で動く画像処理のサンプルを書く時はActionScriptを好んで使っています。その理由は簡単で、Flashは描画系が優れているから。また、最近だとChrome Developer Toolsの使い勝手がとても良いので、JavaScript(+ Canvas)でサンプルを書くことも増えてきました。 ただ、この2つの言語は仕事で使うわけでもない…

CanvasとBitmapとよもやま話

久しぶりにフロントエンド寄りのこと。 ウチの会社の制作本部の人達と久しぶりに飲みに行ったので、彼/彼女らの仕事の進め方みたいなものを聞いてきた。一般的なWebサイト制作はもちろん、FlashやJavaScriptなどの技術力も僕より数倍上な人達だ。大きな組織の内でプロのデザイナーとしてたくさんの人と競争し続けてきたわけだから優秀で当たり前なのかもしれない。趣味程度にやってる僕なんかとは違う。 * CanvasとBitmapについて 彼らはしばらくCanvasを使ったアニメーションやゲームなどの案…

HLAC: 高次局所自己相関特徴

今回は画像特徴量の1つである高次局所自己相関特徴 (HLAC: Higher-order Local AutoCorrelation)について。 HLACは画像認識に対する基本的な要望としての位置不変性および加法性を満たすものであり、一次にとどまらない高次の相関に基づく統計的特徴量になっています。現在では様々なHLACの発展系が生まれていますが、今回はその基本となるアルゴリズムについて整理したいと思います。 基本アルゴリズム 自己相関関数を高次に拡張したN次の自己相関関数は、対象となる画像領域内…

Flash, HTML5 Canvas + OpenCV

前回はWSGIアプリケーションからOpenCVを利用する例を挙げましたが、今回はクライアントをFlashとHTML5の両方で試してみます。といっても特別なことをする必要はなくて、公開されたURIからリソースを取得すればいいだけです。 、、 ということで既に先が見えて飽きてしまいましたが、簡単なデモと方針だけでも気力を振り絞って書いておきます。後はアプリ層の方々におまかせ;; OpenCVはPythonバインディングを使いますので、この部分は前回と同じくFlaskを使うことにします。クライアントが…

さくらVPSにOpenCVをインストールしてPythonから使う

OpenCV2.2をさくらVPS(CentOS 5.5)にインストールして、 PythonバインディングをWSGIアプリケーション(mod_wsgi)から使ってみます。 構築手順はOpenCV – 2.x – Tech Noteに書いておいたので参考までに。 OpenCV2.2からはNumPyを利用したPythonインタフェースを利用できるようになりました。 画像データを通常のNumPy配列(numpy.ndarray)として扱えるので大変便利です。 Pythonバインデ…

パーティクルフィルタによる物体追跡

今回はパーティクルフィルタを簡単に紹介。 (Wikipedia: 粒子フィルタ – Wikipedia) これは、一般状態空間モデルにおける状態ベクトルの推定法で、 Wikipediaではなにやら難しげに書かれているように見えますが、 要は、条件付き分布をたくさんのサンプル点で近似表現するだけの手法です。 この手法は、逐次モンテカルロ法とも呼ばれているように、 ランダムサンプリングによるモンテカルロ近似によって状態推定を行います。 パーティクルフィルタを物体追跡に適用するためには、 …

Flashでハイブリッドイメージ

何日か前に、はてなでハイブリッドイメージが話題になっていたみたいです。 僕も数年前にJavaで作った記憶があり、懐かしさも覚えつつも今回はFlashで。 例によってマリリンシュタイン。 >> Demo (ハイパス/ローパスフィルタの半径をスライダーで変更可能) 今回のデモではアインシュタインの方にローパスフィルタを、 マリリンモンローの方にハイパスフィルタをかけています。 近視の人だとマリリンモンローはほとんど見えないはずです。 ただ、はてブの例ほど良い画像を組み合わせていないので、 近くで見て…