ByteArrayで画像処理入門以前 2

前回は画像フォーマットとしてraw画像を扱いました。 このフォーマットだとデコードが必要ないのですぐに画像データにアクセスできましたが、画像サイズやビット深度などの情報がわからないので、あらかじめそれらの情報は既知であるものとしていました。 そこで、今回はヘッダのあるフォーマットを扱うことにします。 ppm/pgm/pbm 画像 UNIXでは一般的な画像フォーマットです。 (参考:画像ファイルの扱い方 (2) -PPM/PGM/PBM形式 (1)) PPM形式(Portable PixMap f…

ByteArrayで画像処理入門以前

画像データの扱い方についてのメモということで、”入門以前” としました。 僕の場合はまずByteArrayについて調べるところから始めないと。。 扱う画像について カラー(RGB各チャンネル8ビット)のraw画像を扱います。 (RAW画像ではなくベタ画像の方) よって画像データは R0G0B0 R1G1B1 R2G2B2 ・・・の順で格納されているものとします。 画像データの扱い ByteArray上の画像データを参照する場合、 ・画像の横幅 (width) ・1画素あた…

双三次補間法 – AS3.0

前回の画像のリサイズ – AS3.0で、バイキュービック補間の名前を出しておきながら、例を出してなかったので補足しておきます。 双三次補間法。(参考:内挿 (Wikipedia)) Photoshop等の多くのグラフィックソフトではバイキュービック(Bi-Cubic)補間と表現されています。 これはバイリニア(線形)補間よりも高精度な補間法で、16近傍の画素値から三次関数を用いて補間します。 用いる式はsinc関数(矩形関数をフーリエ変換したときに得られる)の近似式になります。 これ…

画像のリサイズ – AS3.0

AS3で画像処理入門(その4) – flashrodにて、ActionScript3.0による画像のリサイズ処理をしてるエントリーを見つけました。 リンク先のエントリーではリサイズ処理の補間方法についての説明がなかったので簡単に、 ・補間方法について  幾何学変換では理論上は変換行列を用いることで実現できますが,デジタル画像においては,入力画像の各座標値に変換行列を掛け合わせただけでは不完全です.それはデジタル画像の座標は正の整数値で表現されるため,小数点を含んだ座標を参照することが…

efficient as3 part2

efficient as3の続きのエントリです。 Tips on how to write efficient AS3 – part 2の簡単な意訳。 Array push vs. Array index pushを使ってはいけない。値をセットする時はlist[list.length] = data;のようにしよう。配列の長さは外部変数に保存して、要素を追加/削除した時はその変数をインクリメント/デクリメント。 //コメント欄でのBlizzさんの指摘:list[list.length…

Tech Note更新

Tech NoteにOpenCVとOpenMPについての基礎部分を加筆しました。 これで一応コンテンツと呼べるくらいの分量は書けたかな、と。 OpenCVについては、関数リファレンスを少しずつ増やしていきながら、動画像処理や機械学習について書いていきたいと思います。 OpenMPについては、使い方というより並列処理についての理論寄りの内容になっていきそう。。

siteDev

PukiWikiをベースに作られたフリーのCMSであるsiteDevを使ってみました。 いいです、コレ。 PukiWikiと比べて特に気に入ってるのがデザインを簡単に変更できる点で、Smartyによってロジックとデザインが分離されているのでPHPを知らない人でも簡単にいじれます。 さくらレンタルサーバでは認証周りで少しつまづくので、さくらに設置したい人は”siteDev さくら 認証”で検索してみてください。僕もさくらですが10分ほどで問題は解決しました。 このブログは一…

Hilbert Curve – Flex(AS3.0)

Hilbert Curve DEMO (Flex) モチベーションが上がっている内にたくさんコードを書こう。 ヒルベルト曲線をActionScriptで。再帰曲線というやつですね。 これは空間を覆い尽くす空間充填曲線の一つで、画像工学分野にも応用されています。画像の場合だと、画素をヒルベルト曲線順に走査するヒルベルトスキャンという手法があって、それに関連した論文もたくさん出ています。 今回はFlash Player 10で新たに追加されたグラフィックスAPIを使う練習も兼ねて、drawPathと…