python 视频 灰度 伽玛_moviepy音视频剪辑:lum_contrast什么时候使用以及图像处理什么时候需要调整亮度与对比度...
一、亮度、對比度的概念
圖像的亮度(luminosity )也即對明度的度量(參考《音視頻處理基礎知識掃盲:數字視頻YUV像素表示法以及視頻幀和編解碼概念介紹》)。圖像亮度本質上圖像中每個像素的亮度,每個像素的亮度本質上RGB值的大小,RGB值為0是像素點為黑色,RGB都為255時像素點最亮,為白色。
圖像對比度指的是指一幅圖像中明暗區域最亮的白和最暗的黑之間不同亮度層級的測量,即指一幅圖像灰度反差的大小,也就是不同像素點之間的差值,差值越大,對比度越明顯。差異范圍越大代表對比越大,差異范圍越小代表對比越小,好的對比率120:1就可容易地顯示生動、豐富的色彩,當對比率高達300:1時,便可支持各階的顏色。
二、什么時候調整亮度和對比度
在研究moviepy的變換處理函數lum_contrast(亮度對比度修正)時,不禁心生疑問,亮度和對比度除了圖像看得不是很清楚時需要使用外,是否還有其他場景,查閱了一下資料,CSDN上大神gloomyfish的博文:《圖像處理之調整亮度與對比度》介紹得比較全面,雖然場景和筆者想的差不多,但介紹得比較全面,大家可以看看。
三、moviepy的lum_contrast函數及算法
lum_contrast和上文介紹的差別比較大,下面我們來看看:
調用語法:lum_contrast(clip, lum = 0, contrast=0, contrast_thr=127)
參數說明:
lum:亮度要增加或減少的值,老猿建議為-255 到255之間的浮點數,但函數未進行限制,理論上任何值都可以,老猿建議絕對值不要太大,-127和127之間比較好
contrast:對比度,對比度調整可能會使得畫面中部分場景看不清,該怎么調整需要結合圖像本身的情況來設定,函數未對該值進行限定,但過大的數可能導致畫面失衡的概率大增,老猿建議一般小于1不要超過2
contrast_thr:這個參數moviepy未進行解釋,老猿是認為對比度調整的一個基準值,老猿建議使用缺省值127
調整結果邏輯:
具體調整時,是將各像素的RGB值各減去contrast_thr之后的結果值再與contrast相乘,得到的結果與lum 相加得到該像素要調整的亮度
如果最終結果小于0或大于255,則取0或255作為最終值。
從上面算法可以看到,如果結果超過255或小于0,就會強制設為255和0,因此參數lum、contrast_thr、contrast絕對值過大可能會導致大量像素的RGB值被設置為0或255,從而導致圖像嚴重失衡。
關于收費專欄
老猿的付費專欄《使用PyQt開發圖形界面Python應用》專門介紹基于Python的PyQt圖形界面開發基礎教程,付費專欄《moviepy音視頻開發專欄》詳細介紹moviepy音視頻剪輯合成處理的類相關方法及使用相關方法進行相關剪輯合成場景的處理,兩個專欄加起來只需要19.9元,都適合有一定Python基礎但無相關專利知識的小白讀者學習。
對于缺乏Python基礎的同仁,可以通過老猿的免費專欄《專欄:Python基礎教程目錄》從零開始學習Python。
如果有興趣也愿意支持老猿的讀者,歡迎購買付費專欄。
跟老猿學Python、學5G!
總結
以上是生活随笔為你收集整理的python 视频 灰度 伽玛_moviepy音视频剪辑:lum_contrast什么时候使用以及图像处理什么时候需要调整亮度与对比度...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中美外长会谈为什么中方坐美国国旗这一边?
- 下一篇: 素数p阶群乘法循环群啥意思_抽象代数2-