カラーイメージを均等化しようとしています。私はそれをHSBに変換してから、RGBに変換する前に輝度チャンネルで等化を実行するように言われました。HSB値に変換した後にヒストグラムの等価を計算する
私は今までに周波数を計算しましたが、スケールファクタに問題があります。私が理解しているように、色の場合の倍率は通常画像の255 /(高さ×幅)です。誰でも明るさの場合に何をするのを手伝ってもらえますか?ありがとう。
カラーイメージを均等化しようとしています。私はそれをHSBに変換してから、RGBに変換する前に輝度チャンネルで等化を実行するように言われました。HSB値に変換した後にヒストグラムの等価を計算する
私は今までに周波数を計算しましたが、スケールファクタに問題があります。私が理解しているように、色の場合の倍率は通常画像の255 /(高さ×幅)です。誰でも明るさの場合に何をするのを手伝ってもらえますか?ありがとう。
とすると、RGBイメージをHSB(またはHSV)色空間に変換して、カラーイメージを均等化する必要があります。
しかし、私はあなたがスケールファクタによって何を意味するのか理解していないので、私はアルゴリズムを記述します:
は、HSB色空間に入力画像を変換します。
B(明るさ)チャンネルを使用して、各ピクセル値の頻度を計算します。実際には、イメージのグレーレベルhistogramを計算しています。画像の輝度値が256種類ある場合は、ベクトルH[0..255]
にヒストグラムを保存できます。ここでは、H[i]
はi番目の輝度値の頻度を示します。 H[i]
を計算するには、は値iのピクセル数をカウントし、画像のピクセル数で除算します。 H[i]
のすべてのエントリを合計すると、値1.0
が得られます。あなたのヒストグラムH[i]
を使用して
、CDF[i]
どこ新しいベクトルを計算する:CDF[i]
ベクトルを格納し、入力された画像の上に輝度値のcumulative distribution function、実際に
CDF[0] = H[0] and CDF[i] = CDF[i - 1] + H[i].
。
最後のステップは、画像のBチャンネルの更新からなる:B'[x,y] = 255 * CDF[B[x,y]]
B[x,y]
位置の画素のB値は(x、y)とB'[x,y]
位置の画素の新しいBの値(X、 y)。この場合も、画像には256の異なる輝度値があると想定しています。