ByteArrayで画像処理入門

前回は画像ヘッダ(ppmフォーマット)について扱いました。 これで前準備が終わり、実際の画像処理に取りかかることができます。 ただその前に、画像に関する情報はまとめて管理しておくと便利かと思います。 ByteArrayに画像ヘッダ以外のデータ、つまり画像データ本体を格納することになるんですが、その画像データにアクセスする際にいくつかの画像に関する情報が必要です。なのでそれらの情報をどういう風にまとめようかと考えたんですが、ここではOpenCVで利用されているIplImage構造体に倣います。 ・…

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画素あた…

45nm

パーツがどさっと全部届いたので、約1年ぶりにマシンを組みました。 CPUもやっと45nmプロセスのものに! Q9xxxが3万円台で買えるイイ時代になりました。 研究用途のマシンなんで、動画解析とかの方面で活躍してくれるでしょう。

双三次補間法 – AS3.0

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

画像のリサイズ – AS3.0

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

エントリー数 100

去年の10月末からサイトを始めて、いつのまにかエントリー数が100を越えていました。 このエントリーで102つ目です。 約1年で記事数100だから、がんばりすぎずサボりすぎずといった所でしょうか。 (ほとんど更新してない月があったり、たくさん更新した月があったりとばらつきは大きいですが;) これからもこの調子でほそぼそとがんばりたいと思います。 ただ、そろそろ本格的に論文書きしないといけないので、また更新が滞りがちになりそうな予感が、、

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…