• 締切済み

ガウシアンフィルタのCプログラム

画像を平滑化する手法にガウシアンフィルタというものがあります。 現在、このガウシアンフィルタをCで作成しようとしていますが、いまいち分かりません。 自分なりに調べてみたところ、平滑化の移動平均フィルタやメディアンフィルタに関しては様々な書籍やサイトがあるのですが、ガウシアンフィルタに関してはあまり見つかりませんでした。 行いたい処理は、簡単に次の通りです。 画像ファイルの読み込み ↓ フィルタ処理 ↓ 処理後の画像をファイル出力 ガウシアンフィルタに関して詳しく書いてある書籍やサイトがあればお教え願います。できれば、ソースプログラムも書いてあると助かります。 当方、参考書籍として、「C言語で学ぶ実践画像処理-井上他」という本を使用しています。

みんなの回答

回答No.2

ググってみたところ http://teo.sourceforge.jp/doc/TeoProgrammingGuide/section5-2.html ここが最も分かりやすかったです。 f(x,y)=exp(-(x^2+y^2)/(2*sigma^2)) で、x,yはそれぞれ整数座標で計算すればよいようです。 上webページの説明だと、x,yそれぞれ-1~1の3x3座標、つまり注目座標の9近傍で打ち切っています。 その9個のf(x,y)の加算値をaとすると、ゲインが1となるようにf(x,y)/aを用います。(これを正規化と呼びます)

ma-tang
質問者

お礼

教えて頂いたサイト、私も以前に見たことがあります。 プログラムの方は何とか作れそうな感じです。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • katouka09
  • ベストアンサー率50% (130/256)
回答No.1

有償で以下のものがあるようですが、個人で購入するにはPCが何台か購入できちゃいますね。 詳細な説明は、 www.mvision.co.jp/sample/doc/MvcFlt2.pdf を参照。 評価版がダウンロードできるようです。

参考URL:
http://www.mvision.co.jp/index_shohin.htm
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 平均化フィルタと平滑化フィルタの違い

    画像処理で、画像の平滑化の為に平均化フィルタという物があるかと思います。 この平均化フィルタと平滑化フィルタは、違うのでしょうか? 違う場合には、私は画像処理には詳しくは無い為、その違いを簡単にご教授頂けたらと考えています。 よろしくお願い致します。

  • C言語での平滑化フィルタ

    OPenCVを使わずにC言語で3×3の平滑化フィルタを作成したと思っています。 それで、プログラム例を参考にして作ろうと、googleなどで検索しているのですけれども、なかなかファイルの読み込みから平滑化処理まで全てを書いてくれているプログラム例が見つかりません。 もしご存知の方がいらしたら、コンパイル可能な状態のプログラム例を教えて頂けないでしょうか? 環境はwindows VISTAでVisual Studio2008を使っています。 画像サイズなどはこだわりません。

  • EXCEL2007 各行列にmedian関数でメディアンフィルタをかける

    EXCEL2007 各行列にmedian関数でメディアンフィルタをかけ違うシートに処理後の値を出力 今,A1から順に640×480の整数が.csvファイルで保存されています. 上記の行列にmedian関数を使用して3×3の中央値を求め,それを下記の画像のように中央のセルの値と中央値を置き換えます. この処理を640×480の行列に適用して(一列目と一行目は除く),画像処理にあるメディアンフィルタをかけようと思っています. ですがmedian関数を使用しても下記の画像のように中央値しかえられず,640×480のセルに適用するのには時間がかかりすぎます. そこで,上記の処理を行いかつ,処理後の640×480の中央値を別のシートに同じ配列で出力をしたいのですが,できるでしょうか? おそらくマクロやVBAを利用するのでしょうが,自分は今まで扱ったことがなく困っています. 一応本を買い,読んでみたのですが上記の処理はいろいろな機能が合わさっているため実行するにはどうしたらいいのかわかりません. どなたか,アドバイスまたは何をどのように使えば上記の処理ができるか教えてください. よろしくお願いします.

  • 画像の平滑化処理について

    画像の平滑化処理について ヒストグラムに対して平滑化したいのですが、 ヒストグラムに対して平滑化する処理と 画像自体にフィルタをかけて平滑化処理を するでは意味は同じなのでしょうか?

  • C言語プログラムを用いた画像表示プログラム

    おはようございます。 お時間ありましたら、ご教授よろしくお願いいたします。 C言語を使って、画像の表示、画像の処理ができるプログラムを作成したいのですが、私自身、JAVAを少しかじった程度の知識しかなくなかなかうまくいきません。 やっかいなことに、ただ画像を表示させるだけでなく、JPEGライブラリを用いた(JPEG画像を読み込んで処理できる)C言語プログラムのプログラムを作成したいのですがうまくいかずご質問させていただきました。 参照できるサイト、ご自信の作られたプログラム、プログラムを経験されている方の記述など教えていただければ幸いです。 明確な質問ではないのでご回答が非常に難しいと思いますが、よろしくお願いいたします。 早朝からお忙しいと思いますが、お時間がありましたら是非ご教授よろしくおねがいします。

  • デジタルフィルタ

    ハイパスフィルタのプログラムをC言語で 作成したいのですが、デジタルフィルタは 初めてさわるのでよくわかりません。 そこでC言語でハイパスフィルタを作成したことが ある人がいたらどのようにプログラムを組めばいいか? 参考ソースプログラムや、 あるいはこの書籍が丁寧でわかりやすく説明してあった、 というような情報をいただけないでしょうか?

  • ゲームなどのプログラムを作るために

    こんにちは。 プログラミング初心者です。 簡単なゲームやツールなどの実行ファイル(exeファイル?)を 色々と作ってみたく、そのためC言語を勉強することを考えています。 本屋などでそれに適してそうな書籍を探してみると、 C言語の入門書などと書かれた同じような本がたくさんあり、 全くの素人なので、本の題名や中身をパラパラと見ただけでは、 どれが一番実践に敵しているのか全く分かりませんでした。 一冊や二冊本を買って勉強しただけで、プログラムを作り出すのは難しいですか? 知識などは最小限で良いです。とにかく簡単なプログラムを自力で色々と作れるようになりたいです。 もし、こんな自分におすすめの本などあれば教えて下さい。

  • ヒストグラム平滑化について

    MATLABで画像のヒストグラム平滑化処理プログラムを作成しました。ヒストグラムは確かに処理前と比べて平滑化され、私としては良かったんですが、友人に完全に一律に平均化されていないがそれで良いのかと言われ、不安になりました。色々調べてみましたが、どの平滑化処理でも完全に平均化されてはいなかったんですが、ヒストグラムの平滑化処理において正規分布に沿っている等、何かあるのでしょうか?完全に平均化してしまうと元の画像を損なってしまう気がするのですが…ご意見の程よろしくお願いします。

  • c言語の画像処理プログラム

    画像処理を勉強している初心者です。これからいろいろな画像処理を勉強していく予定ですが、もっとも基本のc言語で画像を表示させる方法がわからないですが、プログラムのソースとやり方を詳しく教えていただけませんか?

  • C言語にて jpg ⇔ bmp 相互変換

    C言語でのjpg、bmp間の相互変換をしたいのですが、 良い方法 or 画像処理ライブラリはないでしょうか? PHPで実装したいので、ネイティブのC言語のみで書かれているほうが都合がいいです。 VC++などで画像ファイルの相互変換を行っているサイトはいくつもあるのですが・・・