0

通常の画像をHDR画像に変換するための7つのステップを提供するブログHistogramEqualizationfor Image Enhancementを読んだことがあります(以下)。ヒストグラム均等化用のC/C ++プログラムは、Open ComputerVisionLibraryまたはOpenCVを使用して簡単に作成できると言われています。このようなプログラムの主な手順は次のとおりです。

  1. 入力画像を読み取ります。これは、OpenCVのおかげで、ほとんどすべての画像形式にすることができます。この入力画像にはnピクセルが含まれています。n = height × width

  2. RGB(OpenCVによって青、緑、赤の順序で不思議なことに保存されている)からHSV(色相、彩度、明度)に変換します。

  3. 入力画像のヒストグラムを計算します。これは256値の配列であり、H[x]値がのピクセル数が含まれていますx

  4. ヒストグラムの累積密度関数を計算します。これは256値の配列であり、値以下 cdf[x]のピクセル数が含まれています。xcdf[x] = H[0] + H[1] + H[2] + ... + H[x]

  5. 画像全体のピクセルをループして、各'番目のポイントnの値を置き換えます。iV[i] <-- floor(255*(cdf[V[i]] - cdf[0])/(n - cdf[0]))

  6. 画像をHSVからRGBに変換し直します。

  7. 画像を希望の形式とファイル名で保存します。

ステップ3で、私は何であるかわかりませんH[x]か?xR、G、B、またはH、S、またはVの値を参照していますか?また、ステップ5で、値の意味は何iですか?

4

1 に答える 1

2

最初の質問:

H(x) は画像のヒストグラムです。

範囲 [0, 255] の強度レベルを持つデジタル イメージのヒストグラムは、離散関数 h(r_k) = n_k です。ここで、r_k は k 番目の強度値であり、n_k は強度 r_k を持つイメージ内のピクセル数です。

出典:ゴンザレス/ウッズによるデジタル画像処理第3版120ページ

2 番目の質問: i とは何ですか?

i は、画像をループする変数です。

于 2012-06-20T08:22:59.057 に答える