通常の画像をHDR画像に変換するための7つのステップを提供するブログHistogramEqualizationfor Image Enhancementを読んだことがあります(以下)。ヒストグラム均等化用のC/C ++プログラムは、Open ComputerVisionLibraryまたはOpenCVを使用して簡単に作成できると言われています。このようなプログラムの主な手順は次のとおりです。
入力画像を読み取ります。これは、OpenCVのおかげで、ほとんどすべての画像形式にすることができます。この入力画像には
n
ピクセルが含まれています。n = height × width
RGB(OpenCVによって青、緑、赤の順序で不思議なことに保存されている)からHSV(色相、彩度、明度)に変換します。
入力画像のヒストグラムを計算します。これは256値の配列であり、
H[x]
値がのピクセル数が含まれていますx
。ヒストグラムの累積密度関数を計算します。これは256値の配列であり、値以下
cdf[x]
のピクセル数が含まれています。x
cdf[x] = H[0] + H[1] + H[2] + ... + H[x]
画像全体のピクセルをループして、各'番目のポイント
n
の値を置き換えます。i
V[i] <-- floor(255*(cdf[V[i]] - cdf[0])/(n - cdf[0]))
画像をHSVからRGBに変換し直します。
画像を希望の形式とファイル名で保存します。
ステップ3で、私は何であるかわかりませんH[x]
か?x
R、G、B、またはH、S、またはVの値を参照していますか?また、ステップ5で、値の意味は何i
ですか?