在圖像基本處理過程中我們會遇到一些要增強圖像效果的問題,例如更好的視覺效果!一般我們對圖像增強的是亮度,對比度,顏色,圖像銳化等量綱。
其中亮度是我們比較熟悉的量,也直觀。對比度這就體現在灰度值上面提高對比度就會增大灰度值之間的差值!在這里為了大家更容理解亮度和對比度,
我跟大家分享一下線性函數提高亮度和對比度的方法。折目標圖像為y,輸入圖像為f(x)則有:y=af(x)+b其中a位常數大於1則提升對比度!顯然小於則1
減小對比度b是類似於圖片的矩陣不過每個元素的值對應的全部相等。b用來調節亮度。顯然b大於0時增強亮度,小於0時降低亮度!
左邊的是原圖右邊是增大亮度的結果:
為了程序的簡單易讀下面我將不再一一解釋原理和使用自己的函數來實現將使用PIL模塊里的函數模塊。我們為了做出更好的邊緣效果往往會對圖像增強,
實質上我們對圖像做對比度拉升不會改變圖像的梯度即做fft變換后的結果不會有什么改變。我已經做實驗驗證了沒有做數學推導,如果你有興趣可以試試
數學推導。為了改變圖像的梯度值這里提出的方法是對圖像做銳化處理。在上面的程序基礎上加上下面幾句語句!
對於PIL里面的enhance函數模塊調用最后的數值2是增強倍數如果改為1則只是復制了圖片而已。如果小於1則是弱化圖像的效果這里沒有列舉出來。感興趣的人可以試試!
顯然,大於1則增強效果!下面從左至右的結果與上面個函數對應原圖如上面所示。