誤差拡散法 – AS3.0

誤差拡散法。 前回紹介したディザ法と同じく疑似階調表現アルゴリズムのひとつです。 こちらはディザ法よりも一般的に品質が良いとされています。 誤差拡散法の基本的な考え方は、減色処理によって生じた誤差を近傍の画素に拡散させ、画像全体としての誤差を最小にしようとする手法になります。 フルカラー画像を限定されたカラーパレットで表現された画像への変換を行う場合、元の色に最も近い色をパレット内から選び出し、その色に変換していくことで減色処理を行います。この変換を行う時に、元の色がパレット内に存在しない限り誤…

ディザ法 – AS3.0

新聞は基本的に黒インクのみを用いて印刷されています。 そのため使える色は白と黒だけのはずですが、記事中の写真などではグレーの色も確認できます。 実際に写真部分をよく見てもらえるとわかると思いますが、グレーの部分では網目状の点で構成されています。 このように実際に使用している色は少なくても、その密度を変化させることによって多くの色を使っていると見せかけることができ、これを疑似階調表現といいます。 疑似階調表現を実現する方法としてディザ法と呼ばれる方法があり、組織的(Ordered)ディザとランダム…

VTR調変換 – AS3.0

ByteArrayで画像処理~みたいな記事タイトルだと何してるかわからないので止めました; 内容自体はその続きで、ByteArray内のバイナリデータを扱って画像処理をします。 今回はVTR調変換。 これは、ダビングや経年などで劣化したVTR映像のような効果を付加するものです。 Photoshopのプラグインでも提供されていますね。 前回作ったIplImageクラスを利用していきます。

処理はこれだけ。↓のような結果が得られます(…

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

双三次補間法 – AS3.0

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

画像のリサイズ – AS3.0

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