このページでは写真の円式補正アルゴリズムをPixiaで実装をする。
このサイトと「C言語で学ぶ初めてのアルゴリズム」を参考にコードを作成する。
http://homepage2.nifty.com/~maru_tacmi/filter/3.htm

主にこのコードを拡張して、アルゴリズムを実装する。
http://homepage2.nifty.com/~maru_tacmi/filter/3/ftest1.C)旧版

ちょっと考え直して2010/4/20現在
http://www.pixia.jp/download/pixiafilter.zip
を拡張して作ることにしました。
px_samp.Cのみを拡張して作っています。
px_samp2.txt←ソースコード
近況(ただ今コンパイルとバグつぶしと、画像処理にかんする適切なパラメータを探しています)





画像配列=F(写真) Fは単写
  • 処理済配列=画像配列と同じサイズの画像データを格納するための配列
繰り返し処理
  • 処理済配列=K(画像配列,処理済配列)
繰り返し
  • 完成画像=F1(処理済配列)


上記コードを参考にプログラムを作成する。
手順0 元画像を加工するために画像データを全部配列に取り出す処理
手順1 まずは画像配列から指定した範囲を切り取りサブセット配列に確保する処理を作る。
手順2 次に切り取った部分を変更する関数Kを作る
手順3 Kの出力結果を元に新しい処理済配列の指定した範囲に半透明円を貼り付ける処理
手順4 できた配列を元に新しい画像を作り出す処理。


  • 2010/3/14プログラム開始。
まだ処理未実装、とりあえずページを作った段階。
  • 手順0実装予定









コード製作者
名前 堀江伸一
住所 兵庫県加古川市加古川町南備後79-16
現在の主要なコード、実は作りかけ。
px_samp.txt
px_samp2.txt最新版大体の内容は実装済み、いまだ未コンパイルなのでコンパイラに通してコンパイルエラーをつぶしてからテストをする予定

Cは苦手な上、管理人はプログラムが超苦手なので多分コードミスがあります。
円を描くかどうかを判定するための四角い範囲を少しずつずらして、変化した部分だけを求めてから平均や壁画の判断を計算したほうがよいのでしょうが、とりあえず動くコードを提供することを目的にしています。
もっと賢い方法では行列とか漸化式を立てて一瞬で求めるのでしょうが、管理人そこまでする気は無いです。
高速化を目指すなら、まずは計算において差分の部分を四則演算の線形で扱えるにしておき差分の変化だけを計算し、その計算回数を最小化すればいいんだよな?


ご意見のあるかたはこちらへ。
名前:
コメント:
+ タグ編集
  • タグ:
  • 写真
  • 円補正
  • 無数の小さな円で
  • 管理人はプログラムが苦手
  • 線形
  • 差分

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年05月17日 17:57