影像增強之對比度拉伸
我們前面提到過影像二值化,影像反轉,本質上是對影像的所有畫素點的灰度進行操作,屬於灰度變換的內容。灰度變換的主要目的是用於影像增強。
而對比度拉伸是影像增強的一種方法,也屬於灰度變換操作。我們看如下影像:
可以看到,這張圖片非常灰暗。我們檢視下其直方圖。
import cv2
import matplotlib.pyplot as plt
farina = cv2.imread("farina.png", 0)
hist_full = cv2.calcHist([farina], [0], None, [256], [0, 256])
plt.plot(hist_full)
plt.show()
可以看到所有畫素的灰度值大部分集中在20-50之間,這使得整個影像很暗淡。也就是說對比度不高。如果我們通過灰度變換,將灰度值拉伸到整個0-255的區間,那麼其對比度顯然是大幅增強的。可以用如下的公式來將某個畫素的灰度值對映到更大的灰度空間:
I(x, y)=\frac {I(x,y)-Imin}{Imax-Imin}(MAX-MIN)+MIN
其中Imin,Imax是原始影像的最小灰度值和最大灰度值,MIN和MAX是要拉伸到的灰度空間的灰度最小值和最大值。
Imax = np.max(farina)
Imin = np.min(farina)
MAX = 255
MIN = 0
farina_cs = (farina - Imin) / (Imax - Imin) * (MAX - MIN) + MIN
cv2.imshow("farina_cs", farina_cs.astype("uint8"))
cv2.waitKey()
可以看出,對比度提升了很多。我們再看看其直方圖,可以看到已經充滿了整個灰度空間。
除了上述方法,對比度拉伸還有其它方法嗎?當然是有的。例如直方圖位移法(Histogram shifting)。公式如下:,
I(x,y)=I(x,y)+offset
在每個畫素位置的灰度值增加一個偏移量offset。注意,這個offset可以是正數,也可以是負數。正的話,整體亮度變亮,負的話,整體亮度變暗。需要注意的是控制offset的值大小,不要越界。
farina_cs = farina + 100
cv2.imshow("farina_offset", farina_cs.astype("uint8"))
cv2.waitKey()
hist_full = cv2.calcHist([farina_cs.astype("uint8")], [0], None, [256], [0, 256])
plt.plot(hist_full)
plt.show()
下面分別是使用直方圖位移方法後的影像和其直方圖。
可以看出直方圖與原始直方圖形狀一模一樣,只是在橫軸上有所偏移。這種方法的影像增強效果並沒有上一種方法好。
相關文章
- matlab影像對比度增強,拉伸和灰度變換Matlab
- matlab影像點運算 對比度增強 對比度拉伸 灰度變換Matlab
- 數字影像處理實驗之對比度拉伸
- matlab實現 線性拉伸某灰度影像的對比度 程式碼 對比度拉伸Matlab
- Matlab——對比度拉伸Matlab
- intrans函式(對比度拉伸)函式
- 【影像增強】CLAHE 限制對比度自適應直方圖均衡化直方圖
- 影像增強 | CLAHE 限制對比度自適應直方圖均衡化直方圖
- 【影像處理知識複習】03對比度線性拉伸matlab,C++實現MatlabC++
- 影像對比度和亮度
- 灰度變換函式:對數及對比度拉伸變換函式
- Perfectly Clear Workbench for Mac(強大的影像清晰度增強工具)Mac
- 影像增強(Image enhancement)
- MATLAB影像處理imadjust()函式調節影像的對比度示例Matlab函式
- 04-OpenCvSharp4調整影像亮度和對比度OpenCV
- Win8 Metro(C#)數字影像處理--2.62影像對數增強C#
- 影像壓縮哪家強?請看這份超詳細對比
- C#處理醫學影像(一):基於Hessian矩陣的血管肺紋理骨骼增強對比C#矩陣
- 影像增強演算法總結演算法
- Python影像讀寫方法對比Python
- 乾貨 | 影像資料增強實戰
- 影像語義分割資料增強——imgaug(二)
- 小米遊戲本和增強版區別對比 小米遊戲本增強版升級了什麼?遊戲
- 影像相似度比較和檢測影像中的特定物
- Retinex影像增強演算法的優勢分析演算法
- IEMLRN:基於影像增強的句子語義表示
- win10對比度在哪調 win10調節螢幕對比度Win10
- win10怎麼調對比度_windows10如何調整對比度Win10Windows
- 新的顏色對比度演算法-感知對比度演算法APCA演算法PCA
- biopython之成對序列比對Python
- PyTorch - transforms.ColorJitter 改變影像的屬性:亮度(brightness)、對比度(contrast)、飽和度(saturation)和色調(hue)PyTorchORMAST
- 百度人臉對比
- 用 matlab 對圖片進行對比度和均衡度調整Matlab
- 演算法金 | 深度學習影像增強方法總結演算法深度學習
- transforms模組—PyTorch影像處理與資料增強方法ORMPyTorch
- 視訊影像色彩增強的主要方法與落地實踐
- 從張鑫旭的demo中,我學到了影像拉伸的原理
- 中介軟體增強框架之InterceptFramework框架Framework