<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在《直方圖均衡化詳解》中,我們已經瞭解的直方圖均衡化的基本概念,並且可以使用 cv2.equalizeHist()
函數執行直方圖均衡。
在本節中,將介紹如何應用對比度受限的自適應直方圖均衡化 ( Contrast Limited Adaptive Histogram Equalization
, CLAHE
) 來均衡影象,CLAHE
是自適應直方圖均衡化( Adaptive Histogram Equalization
, AHE
)的一種變體,區別在於其對比度的增大是受限的。影象相對均勻區域中的噪聲被 AHE
過度放大,而 CLAHE
通過限制對比度增大來解決這個問題。該演演算法通過建立原始影象的多個直方圖,並使用這些直方圖來重新分配影象的亮度,用於提高影象的對比度。
接下來,將 CLAHE
應用於灰度和彩色影象。應用 CLAHE
時,有兩個重要引數,第一個是 clipLimit
,它設定對比度限制的閾值,預設值為 40;第二個是 tileGridSize
,它設定行和列中的 tiles
數量。應用 CLAHE
時,影象被分成稱為 tiles
(預設為 8 x 8 )的小塊以執行其計算。 將 CLAHE 應用於灰度影象,需要使用以下程式碼:
# 載入影象 image = cv2.imread('example.png') gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 灰度影象應用 CLAHE clahe = cv2.createCLAHE(clipLimit=2.0) gray_image_clahe = clahe.apply(gray_image) # 使用不同 clipLimit 值 clahe.setClipLimit(5.0) gray_image_clahe_2 = clahe.apply(gray_image) clahe.setClipLimit(10.0) gray_image_clahe_3 = clahe.apply(gray_image) clahe.setClipLimit(20.0) gray_image_clahe_4 = clahe.apply(gray_image)
然後,我們將 CLAHE
應用於彩色影象,類似於彩色影象對比度均衡的方法,建立四個函數以僅在不同顏色空間的亮度通道上使用 CLAHE
來均衡化彩色影象:
def equalize_clahe_color_hsv(img): cla = cv2.createCLAHE(clipLimit=4.0) H, S, V = cv2.split(cv2.cvtColor(img, cv2.COLOR_BGR2HSV)) eq_V = cla.apply(V) eq_image = cv2.cvtColor(cv2.merge([H, S, eq_V]), cv2.COLOR_HSV2BGR) return eq_image def equalize_clahe_color_lab(img): cla = cv2.createCLAHE(clipLimit=4.0) L, a, b = cv2.split(cv2.cvtColor(img, cv2.COLOR_BGR2Lab)) eq_L = cla.apply(L) eq_image = cv2.cvtColor(cv2.merge([eq_L, a, b]), cv2.COLOR_Lab2BGR) return eq_image def equalize_clahe_color_yuv(img): cla = cv2.createCLAHE(clipLimit=4.0) Y, U, V = cv2.split(cv2.cvtColor(img, cv2.COLOR_BGR2YUV)) eq_Y = cla.apply(Y) eq_image = cv2.cvtColor(cv2.merge([eq_Y, U, V]), cv2.COLOR_YUV2BGR) return eq_image def equalize_clahe_color(img): cla = cv2.createCLAHE(clipLimit=4.0) channels = cv2.split(img) eq_channels = [] for ch in channels: eq_channels.append(cla.apply(ch)) eq_image = cv2.merge(eq_channels) return eq_image # 彩色影象應用 CLAHE image_clahe_color = equalize_clahe_color(image) image_clahe_color_lab = equalize_clahe_color_lab(image) image_clahe_color_hsv = equalize_clahe_color_hsv(image) image_clahe_color_yuv = equalize_clahe_color_yuv(image) # 視覺化 show_img_with_matplotlib(cv2.cvtColor(gray_image, cv2.COLOR_GRAY2BGR), "gray", 1) show_img_with_matplotlib(cv2.cvtColor(gray_image_clahe, cv2.COLOR_GRAY2BGR), "gray CLAHE clipLimit=2.0", 2) show_img_with_matplotlib(cv2.cvtColor(gray_image_clahe_2, cv2.COLOR_GRAY2BGR), "gray CLAHE clipLimit=5.0", 3) # 其他影象的視覺化方法類似,不再贅述 # ...
將所有這些函數應用於測試影象後比較結果,如下圖所示:
在上圖中,我們可以看到改變 clipLimit
引數在測試影象上應用 CLAHE 後的不同效果,同時也可以看到在不同顏色空間( LAB、HSV 和 YUV )的亮度通道上應用 CLAHE
後的不同結果。其中,可以看到在 BGR
影象的三個通道上應用 CLAHE
與僅在不同顏色空間的亮度通道上使用 CLAHE
的不同效果。
為了更好地展示 CLAHE
的效果,接下來對比 CLAHE
和直方圖均衡化 (cv2.equalizeHist()
) 在同一影象上的效果,同時視覺化生成的影象和生成的直方圖。
image = cv2.imread('example.png') gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) hist = cv2.calcHist([gray_image], [0], None, [256], [0, 256]) # 直方圖均衡化 gray_image_eq = cv2.equalizeHist(gray_image) # 計算直方圖 hist_eq = cv2.calcHist([gray_image_eq], [0], None, [256], [0, 256]) # 建立 clahe: clahe = cv2.createCLAHE(clipLimit=4.0) # 在灰度影象上應用 clahe gray_image_clahe = clahe.apply(gray_image) # 計算直方圖 hist_clahe = cv2.calcHist([gray_image_clahe], [0], None, [256], [0, 256])
視覺化的結果如下圖所示:
通過以上對比,可以肯定地說,在許多情況下,CLAHE
比應用直方圖均衡化有更好的結果和效能。
到此這篇關於詳解OpenCV自適應直方圖均衡化的應用的文章就介紹到這了,更多相關OpenCV自適應直方圖均衡化內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45