matlab影像點運算 對比度增強 對比度拉伸 灰度變換
點運算又稱為對比度增強、對比度拉伸或灰度變換,是一種通過影像中的每一個畫素值進行運算的影像處理方式。。它將輸入影像對映為輸出影像,輸出影像每個畫素點的灰度值僅有對應的輸入畫素點的灰度值決定,運算結果不會改變影像內畫素點之間的空間關係。其運算的數學關係式如下:
其中,A(x,y)表示原影像,B(x,y)表示經過點運算處理後的影像,f表示點運算的關係函式。按照灰度變換的數學關係,點運算可以分為線性灰度變換、分段線性灰度變換和非線性灰度變換3種。接下來我們分別舉例實現。
1. 線性灰度變換
假定原影像A(x,y)的灰度變換範圍為[a,b],處理後的影像B(x,y)的灰度變換範圍為[c,d],線性灰度變換運算的數學表示式為:
在MATLAB影像處理工具箱中提供了一個灰度線性變換函式imadjust()
close all;clear all;clc;
%通過函式imadjust()對影像進行線性灰度變換
gamma=0.5; %設定調整線性度取值
I=imread('F:/pao1.jpg');
R=I; %將影像資料賦值給R
R(:,:,2)=0; %將原影像變成單色影像,保留紅色
R(:,:,3)=0;
R1=imadjust(R,[0.5 0.8],[0 1],gamma); %利用函式imajust()調整R的灰度,結果返回R1
G=I;
G(:,:,1)=0; %將原影像變成單色影像,保留綠色
G(:,:,3)=0;
G1=imadjust(G,[0 0.3],[0 1],gamma); %利用函式imajust()調整G的灰度,結果返回G1
B=I;
B(:,:,1)=0; %將原影像變成單色影像,保留藍色
B(:,:,2)=0;
B1=imadjust(B,[0 0.3],[0 1],gamma); %利用函式imajust()調整B的灰度,結果返回B1
I1=R1+G1+B1; %求變換後的RGB影像
figure,
subplot(131),imshow(I);
subplot(132),imshow(R);
subplot(133),imshow(R1);
figure,
subplot(131),imshow(I);
subplot(132),imshow(G);
subplot(133),imshow(G1);
figure,
subplot(131),imshow(I);
subplot(132),imshow(B);
subplot(133),imshow(B1);
figure,
subplot(121),imshow(I);
subplot(122),imshow(I1);
2. 分段線性灰度變換
為了突出影像中感興趣的目標或者灰度區間,可採用分段線性法,將需要的影像細節灰度拉伸,對比度增強。3段線性變換法運算的數學表示式如下:
close all;clear all;clc;
%分段線性灰度變換
R=imread('F:/pao1.jpg');
J=rgb2gray(R); %將彩色影像資料R轉換為灰度影像資料J
[M,N]=size(J); %獲得灰度影像J的行列數M,N
x=1;y=1;
for x=1:M
for y=1:N
if (J(x,y)<=35); %對灰度影像J進行分段處理,處理後的結果返回給矩陣H
H(x,y)=J(x,y)*10;
elseif(J(x,y)>35&J(x,y)<=75);
H(x,y)=(10/7)*[J(x,y)-5]+50;
else(J(x,y)>75);
H(x,y)=(105/180)*[J(x,y)-75]+150;
end
end
end
figure,
subplot(121),imshow(J);
subplot(122),imshow(H);
3. 非線性灰度變換
當輸出影像的畫素點灰度值和輸入影像的畫素點灰度值不滿足線性關係時,這種灰度變換都稱為非線性灰度變換,我們以對數變換的非線性變換為例,講解非線性灰度變換。變換公式如下:
close all;clear all;clc;
%基於對數變換的非線性灰度變換
R=imread('F:/pao1.jpg');
G=rgb2gray(R); %轉換成灰度影像
J=double(G); %資料型別轉換為雙精度
H=(log(J+1))/10; %進行基於常用對數的非線性灰度變換
figure,
subplot(121),imshow(G);
subplot(122),imshow(H);
總結:
以上三種方法給出了三種不同型別的點運算,它們的相同之處在於都能夠改變影像的顯示灰度,不同之處在於採用的數學方法不同。使用者在需要進行圖形灰度變換時,根據實際情況選擇不同的運算形式,使用者可參照例項設計自己的灰度變換。
------想飛上天,和太陽肩並肩------
相關文章
- matlab影像對比度增強,拉伸和灰度變換Matlab
- matlab實現 線性拉伸某灰度影像的對比度 程式碼 對比度拉伸Matlab
- 影像增強之對比度拉伸
- 灰度變換函式:對數及對比度拉伸變換函式
- Matlab——對比度拉伸Matlab
- intrans函式(對比度拉伸)函式
- 數字影像處理實驗之對比度拉伸
- 【影像處理知識複習】03對比度線性拉伸matlab,C++實現MatlabC++
- 影像對比度和亮度
- MATLAB影像處理imadjust()函式調節影像的對比度示例Matlab函式
- 【影像增強】CLAHE 限制對比度自適應直方圖均衡化直方圖
- 影像增強 | CLAHE 限制對比度自適應直方圖均衡化直方圖
- 用 matlab 對圖片進行對比度和均衡度調整Matlab
- matlab實現調整圖片的對比度Matlab
- 04-OpenCvSharp4調整影像亮度和對比度OpenCV
- win10怎麼調對比度_windows10如何調整對比度Win10Windows
- win10對比度在哪調 win10調節螢幕對比度Win10
- 新的顏色對比度演算法-感知對比度演算法APCA演算法PCA
- matlab練習程式(灰度拉伸)Matlab
- [譯] CSS 變數 + calc + rgb = 自動高對比度CSS變數
- 百度人臉對比
- PyTorch - transforms.ColorJitter 改變影像的屬性:亮度(brightness)、對比度(contrast)、飽和度(saturation)和色調(hue)PyTorchORMAST
- OpenCV計算機視覺學習(3)——影像灰度線性變換與非線性變換(對數變換,伽馬變換)OpenCV計算機視覺
- 圖片相似度對比SSIM和PHash
- SQL 和 SPL 的有序運算對比SQL
- win10怎麼調電腦對比度_win10電腦對比度怎麼設定Win10
- Python影像讀寫方法對比Python
- 15款主流專案進度軟體對比
- beego 模板中對變數的對比Go變數
- java 呼叫百度人臉對比api介面JavaAPI
- 影像壓縮哪家強?請看這份超詳細對比
- ADOV路由和DSR路由matlab對比模擬路由Matlab
- 六大對比維度,Redshift與BigQuery選型指南!
- 有1000000:1高對比度及600nits峰值亮度
- 影像相似度比較和檢測影像中的特定物
- Matlab、Julia與Python之間的對比 | Toby DriscollMatlabPython
- Perfectly Clear Workbench for Mac(強大的影像清晰度增強工具)Mac
- C#處理醫學影像(一):基於Hessian矩陣的血管肺紋理骨骼增強對比C#矩陣