• 大小: 647B
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签: matlab  

资源简介

基于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


评论

共有 条评论