• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
  • W_H
  • ベストアンサー率47% (21/44)
回答No.1

そちら関係の処理はしたことないですが、参考程度に。 ファイルの圧縮、加工はなぜ行われるのか。それは、ファイルサイズを小さくしたり、見た目がよくなるようにするためです。圧縮ならサイズを落とせないと意味ないですし、画像を綺麗に見せるなら醜くなっては意味がありません。 なので、処理の完璧さではなく、見た目の完璧さを求めた方がいいのではないかと思います。(見比べるために、何度かプログラムを書いたり、設定を変えないといけないですが。) まぁ、見た目などと言うのは個人の感覚にかかわり、考え方によってプログラムの癖が出てきます。しかし、絶対にそうしなくてはならないと言う規則はないはずなので、自分で満足できるようがんばってください。

ITkojika
質問者

お礼

ありがとうございます。 処理後の画像でより輝度が均一されるようにがんばってみます。

関連するQ&A

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

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

  • ヒストグラム平均化のアルゴリズム

    画像をヒストグラム平均化処理するプログラムを 作成したいのですが,具体的なアルゴリズムが わかりません.どなたか,教えてください.

  • Rにおいて、中心極限定理を確認するために、乱数の標本平均のヒストグラム

    Rにおいて、中心極限定理を確認するために、乱数の標本平均のヒストグラムと正規分布のグラフを重ね合わせたいのですが、軸ラベルがおかしくなってしまいます。例えば、1000個の標本平均のヒストグラム hist(x)と平均0,分散1の正規分布のグラフを上手く重ね合わせるにはどうしたらいいですか?

  • 正規分布とヒストグラムのグラフの書き方

    エクセルで正規分布とヒストグラムをひとつのグラフとして表そうとしています。過去の質問や他のページを調べた結果、ある程度書き方を理解して、求めるグラフが書けました。 しかし、ヒストグラムのデータ区間を変えたとき、どのように対応すればよいのか分からなくなりました。 具体的に書いていきたいと思います。 正規分布になるとほぼ確信しているデータがあります。 サンプル数は50、平均7.8、標準偏差2.9のデータです。 データ区間 頻度 0       0 1       1 2       1 3       2 4       2 5       5 6       6 7       6 8       6 9       8 10      5 11      2 12      3 13      1 14      2 15      0 というデータです。 そして、データ区間に対応する正規分布の値を NORMDIST(あるデータ区間の値,平均,標準偏差,FALSE) を使用して、求めます。 そして、得られた正規分布の値をそれぞれ、サンプル数(50)倍します。 (ここでサンプル数倍するという作業は、NORMDIST(データ,平均,標準偏差,FALSE)で描かれるグラフの面積は1なので、今書きたいヒストグラムとサイズをあわせる…という理解でよろしいのでしょうか?) 上述の度数分布表から棒グラフ→データ系列の書式設定→オプションで棒の間隔を0にすることでヒストグラムを描きました。(分析ツールを用いても良かったのですが) また、同グラフに新たな系列を増やし、NORMDIST*50によって得られた値を導入し、こちらは、グラフの種類→マーカーの無い線グラフ→データ系列の書式設定→パターン→スムージングを選択することによって、正規分布のグラフを書きます。 以上の作業で、求めていたグラフは書けました。 視覚的に予想通り正規分布のグラフに近いことが分かりました。 さて、ヒストグラムを使用する際によく行われる作業ですが、上述の度数分布表みたいに、データ区間を1刻みにするより、大きくしたほうがデータの性質がより見てとれることがあります。 そのため、ここでも、データ区間を広げ、2刻みにした場合のグラフを描こうと思いました。 度数分布表は以下のようになります。 データ区間 頻度 1       1 3       3 5       7 7       12 9       14 11      7 13      4 15      2 17      0 ここから、前回同様の作業でヒストグラムは容易に描けます。 正規分布のグラフはどのように書けば良いのでしょうか? 前回同様、NORMDIST*50から得られる値を利用しても、ヒストグラムの棒の高さが前回より高いので、全く合いません。 正規分布関数は定数倍しても性質が変わることはないので、実験的に50以外の値を導入してみました。 データ区間が2倍になったから、*50を更に2倍して、*100にしてみようか、という安易な考えのもと、NORMDIST*100を使用したグラフを書いてみました。 すると、ヒストグラムと正規分布の形が視覚的に似て見える、というもっともらしいグラフは得られました。 しかし、安易にNORMDIST*100を導入したことに疑問と不安を覚えます。 このようにして得られてグラフに問題は無いでしょうか。 また、データ区間を変更したとき、NORMDISTを何倍してやると良いなどというのはあるのでしょうか。 数理統計もエクセルも初心者なので、得られたグラフに自信がないのです。 どのように考えればよいのでしょうか。 質問文が非常に長くなってしまい、申し訳無いのですが、わかる方、お教えいただけないでしょうか。 お手数をおかけしますが、よろしくお願いします。

  • ヒストグラム

    研究者です。 電気泳動で細胞の末端のDNAの長さを調べております。 この場合、正規分布からは少し外れます。 ヒストグラムで長さの分布をプロットして、A群とB群で差が有るかどうかを検査したいのですが、平均値と中央値、最頻値で比較するのが妥当なのでしょうか? この方法ですと同じ実験を3回以上繰り返して、P値を求めなければなりません。 上司によると別の方法が有るらしいのですが、見つかりません。 ご教授をよろしくお願い致します。

  • データのヒストグラムに、特定の分布関数を当てはめる意味について。

    データ解析で、度数分布表をヒストグラムにした後、正規分布などの関数でフィッティングした曲線を、そのヒストグラムに付け加えた図をよく見ます。 1. 何故、ヒストグラムを特定の分布関数でフィッティングするんでしょうか?分布関数に含まれる、平均や分散などの値を求めるためでしょうか?それとも、得られたヒストグラムが、特定の分布に従っていることを主張するためでしょうか? 2. また、ヒストグラムに、フィッティングして得られた曲線を付け加えて、学会のポスターや論文の図にしているのは、そうした方が見やすいためでしょうか?または、本来はそのような連続的な曲線になっていると予想されるが、実際のデータは離散的であるので、理想的な曲線を付加しているという意味でしょうか? 自分で考えただけで、人には聞いたことがなく、思い違いしているかもしれないので、回答お願いします。

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

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

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

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

  • C言語でヒストグラムを作成するプログラムを作りたいのですが

    C言語でヒストグラムを作成するプログラムを書いたのですが、正しい濃度値が出力されずに困っています。 ヘッダなしの2バイト画像データを読み込みヒストグラムを書き出すプログラムです。 gccを使っています。 よろしくお願いします。

  • エクセルの複合グラフ作成について

    エクセル2000で、ヒストグラムと正規分布を1つのグラフ上に作成することは可能なのでしょうか? 過去のFAQを検索してみて、 個別の作成方法や、データの求め方までは分かったのですが、 1つのグラフ上に作成する方法が分かりません。 今の状況は、 (1)データを元にエクセルの分析ツールを使ってヒストグラムを作成しました。 (2)次に正規分布を求める数式(下記)を使って、データを元に数値を求めました。  数式:1/SQRTPI(2)*EXP((-1)*(B2^2/2)) (3)正規分布のデータをコピーして、ヒストグラム上にペーストで追加しました。 (4)数値軸が追加され、イメージとは全く異なるグラフが出来上がってしまいます。 データの追加方法が間違っているのでしょうか? どなたか教えていただけないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう