変換ガンマのOpenCVの画像処理

 

インポートCV2の
 インポートのNPとしてnumpyの
IMG = cv2.imread(' 4.JPG ' DEF adjust_gamma(画像、ガンマ= 1.0 ):
    invGamma = 1.0 / ガンマ
    テーブル = []
     のための I における範囲(256 ):
        table.append(( (I / 255.0)** invGamma)* 255  = np.array(テーブル).astype(" UINT8 " 戻りcv2.LUT(画像、テーブル)

img_gamma = adjust_gamma(IMG、2 
cv2.imshow("IMG "IMG) 
cv2.imshow(" img_gamma 、img_gamma)
キー = cv2.waitKey()
 の場合、キー== 27 
    cv2.destroyAllWindows()

 

 

 

 


 

上記LUTは、多くの人々は、おそらくこれは非常に専門的で非常に深い語彙だと思いますが、LUTが実際略語ルックアップテーブル(カラールックアップテーブル)で、理解の簡単な少しはこれです:LUTを通じ、我々は出力RGB値のセットをすることができますRGB値の別のセットは、それによって露光及びカラー画面を変更します。データ入力の行列が含まれているLUTファイルは、色情報を変更することができます。LUT動作自体はそう、単純に入力データと出力データの系列を含んでいる、実行データは、それに対応するルックアップの出力値に対する各入力値に対して、この対応関係、すなわちによる一人の関係、システムへの1つであったされていませんその理由は、変換を完了することができますが、また、LUTは基本的にCPUリソースを消費しません。
オリジナルリンクします。https://blog.csdn.net/weixin_42171170/article/details/94473176


上記LUTは、多くの人々は、おそらくこれは非常に専門的で非常に深い語彙だと思いますが、LUTが実際略語ルックアップテーブル(カラールックアップテーブル)で、理解の簡単な少しはこれです:LUTを通じて、あなたは出力RGB値のセットをすることができますRGB値の別のセットは、それによって露光及びカラー画面を変更します。単純なモデルを使用すると、私たちが理解するのに役立ちますこれです:

私たちは定めがある場合:

場合R 0、R 5の出力値の元の値。

場合R 1​​、6のR出力値の元の値。

場合R 2、R 8の出力値の元の値。

場合R 3、10のR出力値の元の値。

...

Rは255までです

G 0の元の値は、Gは、出力10である場合。

場合G 1、12のG出力値の元の値。

場合G 2、13のG出力値の元の値。

場合G 3、15のG出力値の元の値。

...

Gは255までです

場合B 0の元の値は、Bの出力値は0です。

B 1の元の値は、Bは0を出力するときです。

元Bが2である場合、出力値B 1。

3 B元の値が、出力Bが1です。

...

Bは255までです

次いで、ピクセルRGB(1,2,3)であれば、出力値の後には、このLUTは、RGB(6,13,1)で適用されるので、我々はRGB出力にすべての元のRGB値を置くことができ値。もちろん、はるかに複雑なものよりも、実際の3次元LUT変換アルゴリズムインチ

オリジナルリンクします。http://www.sohu.com/a/230989286_252971


 

 

参照記事があります。https://blog.csdn.net/Rothwale/article/details/79189032


 

おすすめ

転載: www.cnblogs.com/yibeimingyue/p/11455233.html