數字影像處理實驗之對比度拉伸
一幅影像中,最高灰度級和最低灰度級的差成為對比度。一幅低對比度的影像,看起來細節會少很多。可以通過對比度拉伸提高影像對比度,顯示更多細節。先來看看對比度拉伸的典型變換:
書本中(岡薩雷斯:數字影像處理第三版P69)的對比度拉伸變換函式圖是這樣的:
圖3.10(b)低對比度拉伸圖中,最低灰度級為91,最高灰度級為138,並且要將灰度值拉伸至[0, 255]。閾值處理的函式的影像即為P64圖3.2第二個影像,其中k = 109。
實驗程式碼如下:
% 讀入影像
img_1 = imread('Fig0310(b)(washed_out_pollen_image).tif');
% max():返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。
% 再一次即可求得最高灰度級
r_max = max(max(img_1));
% 與 max() 同理
r_min = min(min(img_1));
% 求輸入影像的尺寸
[r, c] = size(img_1);
% 生成兩張0圖,一張用於對比度拉伸,一張用於閾值處理
img_2 = zeros(r, c);
img_3 = zeros(r, c);
% 將輸入影像轉換成double型
img_1s = double(img_1);
% 計算斜率
k = (255 - 0) / (r_max - r_min);
% 灰度級總和
sum = 0;
for x = 1 : r
for y = 1 : c
% 對每個畫素點進行拉伸,並賦值到新影像
img_2(x, y) = k * (img_1s(x, y) - r_min);
% 求灰度級總和
sum = sum + img_1s(x, y);
end
end
% 求閾值,這裡閾值為平均值
avg = sum / (r * c);
% 閾值處理
for x = 1 : r
for y = 1 : c
% 小於閾值賦值0
if img_1s(x, y) < avg
img_3(x, y) = 0;
% 大於閾值賦值1
else
img_3(x, y) = 1;
end
end
end
% 轉換
img_2 = im2uint8(mat2gray(img_2));
img_3 = im2uint8(mat2gray(img_3));
% 顯示
subplot(131), imshow(img_1);
subplot(132), imshow(img_2);
subplot(133), imshow(img_3);
結果如下:
相關文章
- 影像增強之對比度拉伸
- matlab實現 線性拉伸某灰度影像的對比度 程式碼 對比度拉伸Matlab
- 【影像處理知識複習】03對比度線性拉伸matlab,C++實現MatlabC++
- 數字影像處理實驗(四)影像銳化
- matlab影像點運算 對比度增強 對比度拉伸 灰度變換Matlab
- Matlab——對比度拉伸Matlab
- matlab影像對比度增強,拉伸和灰度變換Matlab
- 個人實驗程式碼記錄 | 數字影像處理實驗3·影像直方圖與均衡化處理直方圖
- MATLAB影像處理imadjust()函式調節影像的對比度示例Matlab函式
- intrans函式(對比度拉伸)函式
- 灰度變換函式:對數及對比度拉伸變換函式
- Win8 Metro(C#)數字影像處理--2.62影像對數增強C#
- 數字影像處理day_12 影像分割
- 演算法 | 數字影像處理之「中值濾波」演算法
- [00]數字影像處理-matlab速成Matlab
- 數字影像處理(一)之灰度轉換和卷積python實現卷積Python
- 【傳統影像處理】1 數字影像基礎
- 數字影像處理--認識影像各種概念
- 數字影像處理相關練習
- 數字影像處理-取樣量化(Matlab)Matlab
- 影像對比度和亮度
- 數字訊號處理實驗(四):數字濾波器結構
- 影像處理之骨架提取
- 數字影像處理學習筆記(1)——傅立葉變換在影像處理中的應用筆記
- 驗證碼影像處理(JavaScript 版)JavaScript
- 數字影像處理讀書筆記(三)直方圖匹配筆記直方圖
- python 包之 Pillow 影像處理教程Python
- MyBaits | 對映檔案之引數處理AI
- 影像處理--影像特效特效
- [Python影像處理] 三十.影像量化及取樣處理萬字詳細總結(推薦)Python
- Python對數字的千分位處理方式Python
- Python影像處理丨5種影像處理特效Python特效
- webgl 影像處理2---影像畫素處理Web
- 數字影象處理DIP
- 醫學影像預處理之標註
- 醫學影像預處理之裁減
- 【js】版本號對比處理方案JS
- Python 影像處理 OpenCV (6):影像的閾值處理PythonOpenCV