Lab彩色空間由三個要素組成,一個要素是亮度(L),a 和b是兩個顏色通道。a包括的顏色是從深綠色(低亮度值)到灰色(中亮度值)再到亮粉紅色(高亮度值);b是從亮藍色(低亮度值)到灰色(中亮度值)再到黃色(高亮度值)。Lab彩色空間是為了解決RGB和CMYK兩種彩色空間的不足。
2.優點不像RGB和CMYK色彩空間,Lab顏色被設計來接近人類視覺。它致力於感知均勻性,它的L分量密切匹配人類亮度感知。因此可以被用來通過修改a和b分量的輸出色階來做精確的顏色平衡,或使用L分量來調整亮度對比。
二、CLAHE1.簡述CLAHE同普通的自適應直方圖均衡不同的地方主要是其對比度限幅。這個特性也可以應用到全局直方圖均衡化中,即構成所謂的限制對比度直方圖均衡(CLAHE),但這在實際中很少使用。在CLAHE中,對於每個小區域都必須使用對比度限幅。CLAHE主要是用來克服AHE的過度放大噪音的問題。
這主要是通過限制AHE算法的對比提高程度來達到的。在指定的像素值周邊的對比度放大主要是由變換函數的斜度決定的。這個斜度和領域的累積直方圖的斜度成比例。CLAHE通過在計算CDF前用預先定義的閾值來裁剪直方圖以達到限制放大幅度的目的。這限制了CDF的斜度。因此,也限制了變換函數的斜度。直方圖被裁剪的值,也就是所謂的裁剪限幅,取決於直方圖的分布因此也取決於領域大小的取值。
通常,直接忽略掉那些超出直方圖裁剪限幅的部分是不好的,而應該將這些裁剪掉的部分均勻的分布到直方圖的其他部分。如下圖所示。
這個重分布的過程可能會導致那些被裁剪掉的部分由重新超過了裁剪值(如上圖的綠色部分所示)。如果這不是所希望的,可以不帶使用重複不的過程指導這個超出的部分已經變得微不足道了。
2.通過插值加快計算速度如上所述的直接的自適應直方圖,不管是否帶有對比度限制,都需要對圖像中的每個像素計算器領域直方圖以及對應的變換函數,這使得算法及其耗時。
而插值使得上述算法效率上有極大的提升,並且質量上沒有下降。首先,將圖像均勻分成等份矩形大小,如下圖的右側部分所示(8行8列64個塊是常用的選擇)。然後計算
每個塊的直方圖;
CDF;
以及對應的變換函數。
這個變換函數對於
這樣的過程極大的降低了變換函數需要計算的次數,只是增加了一些雙線性插值的計算量。
三.實際應用在Lab顏色空間中,通過使用限制對比度直方圖均衡算法改變L分量,來調整亮度對比;從而增強圖像的低光照區域的亮度。
代碼實現:
import matplotlib.pylab as pltimport cv2
img_bgr = cv2.imread("02.jpg")
img = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)
img_lab = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2LAB)
clahe = cv2.createCLAHE(clipLimit = 3.0, tileGridSize=(8,8))img_lab[...,0] = clahe.apply(img_lab[...,0])img_rgb = cv2.cvtColor(img_lab, cv2.COLOR_LAB2RGB)
plt.figure(figsize=(20,16),dpi=80)plt.subplot(121),plt.imshow(img),plt.axis("off"),plt.title("原圖",fontproperties='SimHei',fontsize=20)plt.subplot(122),plt.imshow(img_rgb),plt.axis("off"),plt.title("CLAHE",fontproperties='SimHei',fontsize=20)plt.show()結果:
參考資料:
https://baike.baidu.com/item/Lab%E9%A2%9C%E8%89%B2%E6%A8%A1%E5%9E%8B/3944053?fr=aladdin
https://zh.wikipedia.org/zh-cn/Lab%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4
https://en.wikipedia.org/wiki/Adaptive_histogram_equalization
https://blog.csdn.net/Julialove102123/article/details/89474777
https://blog.csdn.net/qq_28368377/article/details/97190468
你若喜歡,請點個在看