Python中怎么批量修改圖片亮度和飽和度,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、臺安ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的臺安網(wǎng)站制作公司
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果沒有,請?jiān)L問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
Windows環(huán)境下打開Cmd(開始—運(yùn)行—CMD),蘋果系統(tǒng)環(huán)境下請打開Terminal(command+空格輸入Terminal). 輸入以下命令安裝我們所需要的模塊:
pip install numpy
pip install opencv-python
看到 Successfully installed xxx 則說明安裝成功。
這一部分,我們將開發(fā)出一個能夠調(diào)整圖像亮度和飽和度的工具,而且這個工具支持滑動調(diào)整。其實(shí)放到別的語言里,這可是個小工程,但是放到Python里,我們用50行代碼就能解決了。
首先是加載圖片,然后需要將圖片轉(zhuǎn)化為HLS模式才能夠調(diào)整亮度和飽和度。這是因?yàn)槟J(rèn)的圖片顏色空間是RGB,它非常適合顯示器顯示,但由于只有三個顏色分類,并不適合圖像處理。
而HLS模式相對于RGB顏色空間則復(fù)雜得多,HLS分別代表H: Hue(色調(diào)),L: Lightness(亮度), S: Saturation(飽和度)。其顏色空間是一個三維空間,如下圖所示:
這樣的顏色空間才使得我們可以調(diào)整圖片的細(xì)節(jié)部分。Python代碼中,將RGB轉(zhuǎn)化為HLS空間是很簡單的,兩行代碼就能做到:
然后我們需要做兩個滑動塊,一個調(diào)節(jié)亮度,一個調(diào)節(jié)飽和度:
調(diào)節(jié)前還需要保存一下原圖,所以我們會在內(nèi)存里復(fù)制一個新的變量用于調(diào)節(jié)圖片,然后獲得兩個滑動塊的值,再根據(jù)值進(jìn)行亮度和飽和度的調(diào)整:
效果如下圖所示:
到這里還不夠,由于是while循環(huán)支持的調(diào)節(jié),我們還需要讓其可以退出和保存:
這樣,按s鍵可以保存圖片并退出,按ESC鍵可以直接退出編輯器。完整文字版50行代碼請?jiān)赑ython實(shí)用寶典公眾號后臺回復(fù):批量修改圖片獲得。
前面根據(jù)我們的小工具獲得了需要的飽和度和亮度,把這對值記下來就可以批量修改圖片了。當(dāng)然,我們沒有自動批量修改到正確值這么逆天的功能,這個工具只適合相同場景下,能夠用同一對亮度和飽和度進(jìn)行調(diào)整的圖片:
這部分比剛剛制作的工具簡單,可以說是工具的簡化版。分為以下六個步驟:
1.加載圖片。
2.轉(zhuǎn)化為HLS空間。
3.調(diào)整亮度。
4.調(diào)整飽和度。
5.轉(zhuǎn)化為RGB空間。
6.保存。
然后我們只需要批量地將圖片傳入該函數(shù),就能實(shí)現(xiàn)批量轉(zhuǎn)化:
看完上述內(nèi)容,你們掌握Python中怎么批量修改圖片亮度和飽和度的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!