在介紹CLAHE算法之前必須要先提一下直方圖均衡化,直方圖均衡化算法是一種常見的圖像增強(qiáng)算法,可以讓像素的亮度分配的更加均勻從而獲得一個(gè)比較好的觀察效果。
如下圖就是經(jīng)過直方圖均衡化后的效果圖。
import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread(r'E:python_image_simpythonProjectsimimgFig0459(a)(orig_chest_xray).tif', 0) img = cv2.resize(img, (500, 500)) equ=cv2.equalizeHist(img) res = np.hstack((img, equ)) # stacking images side-by-side cv2.imshow('img', res) cv2.waitKey() cv2.destroyAllWindows()

左邊是原圖,右邊是經(jīng)過直方圖均衡化后圖,可以看到肋骨什么的可以更加清晰的顯示了出來,能夠更好的觀察到肋骨等位置的細(xì)節(jié)。
但是美中不足的是總感覺有的地方太亮了,干擾到了我們的觀察。
這是因?yàn)橹狈綀D均衡化有著兩個(gè)問題:
直方圖均衡化是針對(duì)全局進(jìn)行處理的,所以當(dāng)局部出現(xiàn)過亮或者過暗的時(shí)候就會(huì)影響效果。
直方圖均衡化會(huì)增強(qiáng)噪聲。
再來看看經(jīng)過CLAHE算法后的效果。
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread(r'E:python_image_simpythonProjectsimimgreast_digital_Xray.tif', 0)
img = cv2.resize(img, (500, 500))
equ = cv2.equalizeHist(img)
cla = cv2.createCLAHE(2, (5, 5))
# cv2.ahe
cla = cla.apply(img)
res = np.hstack((img, equ, cla))
# res = np.hstack((img, equ))
# stacking images side-by-side
cv2.imshow('img', res)
cv2.waitKey()
cv2.destroyAllWindows()


最左側(cè)為原圖,中間為直方圖均衡化后的結(jié)果,最右側(cè)為CLAHE算法的效果。
從視覺效果上來看,CLAHE算法的效果最為明顯。
CLAHE算法針對(duì)上面兩個(gè)問題,提出了相應(yīng)的解決方案:
CLAHE會(huì)將圖像分成一個(gè)一個(gè)的小塊,這樣在局部進(jìn)行直方圖均衡化。
針對(duì)背景噪聲增強(qiáng)的問題,CLAHE算法應(yīng)用了限制對(duì)比度的方法。
CLAHE算法的實(shí)現(xiàn)步驟分為以下三個(gè)部分:
對(duì)圖像進(jìn)行分塊
對(duì)每個(gè)塊進(jìn)行直方圖均衡化和限制對(duì)比度
使用插值的方法得到最后增強(qiáng)的圖片
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1660文章
22406瀏覽量
636108 -
圖像處理
+關(guān)注
關(guān)注
29文章
1342瀏覽量
59502
原文標(biāo)題:FPGA圖像處理--CLAHE算法(一)
文章出處:【微信號(hào):FPGA開源工坊,微信公眾號(hào):FPGA開源工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一文詳解FPGA的圖像處理技術(shù)
FPGA設(shè)計(jì)經(jīng)驗(yàn)之圖像處理
FPGA圖像與視頻處理培訓(xùn)
一種基于FPGA的實(shí)時(shí)視頻圖像處理算法研究與實(shí)現(xiàn)
基于DSP和FPGA的通用圖像處理平臺(tái)設(shè)計(jì)
ECT圖像重建算法的FPGA實(shí)現(xiàn)
基于FPGA的紅外圖像處理系統(tǒng)及算法設(shè)計(jì)
一種基于DSP+FPGA視頻圖像采集處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
如何使用FPGA實(shí)現(xiàn)一種圖像預(yù)處理結(jié)構(gòu)及典型算法
如何使用FPGA實(shí)現(xiàn)圖像的中值濾波算法
FPGA學(xué)習(xí)-基于FPGA的圖像處理
FPGA圖像處理算法有哪些
基于FPGA的CLAHE圖像增強(qiáng)算法設(shè)計(jì)
FPGA圖像處理-CLAHE算法介紹(一)
評(píng)論