資源簡介
基于matlab,讀取圖像文件并,并計算其圖像對比度。 計算公式采用:各中心像素灰度值與周圍8近鄰像素灰度值之差的平方之和再除以差的個數。 注:直接運行,選取路徑即可輸出計算結果,十分方便。適用于大量圖片待計算時使用

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%計算圖像對比度
%中心像素灰度值與周圍8近鄰像素灰度值之差的平方之和,除以以上之差的個數。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
clc;
format?long;
[filenamepathname]?=?uigetfile({‘*.jpg;*.bmp;*.png‘}‘打開待測對比度的圖像‘);
if?filename?==?0
????return;
end
pic?=?imread([pathnamefilename]);
[mnl]?=?size(pic);%求原始圖像的行數m和列數n
if?l>=2
????pic?=?rgb2gray(pic);?
end
g?=?padarray(pic[1?1]‘symmetric‘‘both‘);%對原始圖像進行擴展
[rc]?=?size(g);%求擴展后圖像的行數r和列數c
g?=?double(g);?%把擴展后圖像轉變成雙精度浮點數
k?=?0.0;?%定義一數值k,初始值為0
for?i=2:r-1
????for?j=2:c-1
????????k?=?k+(g(ij-1)-g(ij))^2+(g(i-1j)-g(ij))^2+(g(ij+1)-g(ij))^2+(g(i+1j)-g(ij))^2+(g(i-1j-1)-g(ij))^2+(g(i-1j+1)-g(ij))^2+(g(i+1j-1)-g(ij))^2+(g(i+1j+1)-g(ij))^2;
????end
end
%計算原始圖像對比度
c?=?k/(8*(m-2)*(n-2)+6*(2*(m-2)+2*(n-2))+4*3);
%c?=?k/(8*(m-2)*(n-2)+5*(2*(m-2)+2*(n-2))+4*3);
c%輸出對比度
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1086??2019-08-20?16:54??duibidujisaun.m
-----------?---------??----------?-----??----
?????????????????1086????????????????????1
- 上一篇:DANDAOFANGZHEN.m
- 下一篇:四人智力搶答器multisim仿真
評論
共有 條評論