一.均值
图片的灰度均值是各个像素点的灰度值的平均值。
1.灰色图像的均值
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\1.jpg'); %载入真彩色图像路径
i=rgb2gray(i); %转换为灰度图
i=double(i); %将uint8型转换为double型,否则不能计算统计量
[m,n]=size(i);
s=0;
for x=1:m
for y=1:n
s=s+i(x,y); %求像素值总和 s , i(x,y)表示位于某个坐标下的像素值
end
end
%所有像素均值
a1=mean(mean(i)); %第一种方法:先计算列向量均值,再求总均值。
a2=mean2(i); %第二种方法:用函数mean2求总均值
a3=s/(m*n); %第三种方法:按公式计算,像素值总和除以像素个数。
a4=sum(sum(i))/(m*n); %第四种方法:也是按公式计算,但是用sum来求像素值总和。
2.彩色图像的均值
R通道
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
image=imread('E:\我的桌面\MATLAB\练习\2.jpg');%绝对路径的
R=image(:,:,1);
G=image(:,:,2);
B=image(:,:,3);
%%计算R
i=double(R); %将uint8型转换为double型,否则不能计算统计量
[m,n]=size(i);
s=0;
for x=1:m
for y=1:n
s=s+i(x,y); %求像素值总和 s , i(x,y)表示位于某个坐标下的像素值
end
end
%所有像素均值
a1=mean(mean(i)); %第一种方法:先计算列向量均值,再求总均值。
a2=mean2(i); %第二种方法:用函数mean2求总均值
a3=s/(m*n); %第三种方法:按公式计算,像素值总和除以像素个数。
a4=sum(sum(i))/(m*n); %第四种方法:也是按公式计算,但是用sum来求像素值总和。
G、B通道同理,附代码
%%计算G
i=double(G); %将uint8型转换为double型,否则不能计算统计量
[m,n]=size(i);
s=0;
for x=1:m
for y=1:n
s=s+i(x,y); %求像素值总和 s , i(x,y)表示位于某个坐标下的像素值
end
end
%所有像素均值
a1=mean(mean(i)); %第一种方法:先计算列向量均值,再求总均值。
a2=mean2(i); %第二种方法:用函数mean2求总均值
a3=s/(m*n); %第三种方法:按公式计算,像素值总和除以像素个数。
a4=sum(sum(i))/(m*n); %第四种方法:也是按公式计算,但是用sum来求像素值总和。
%%计算B
i=double(B); %将uint8型转换为double型,否则不能计算统计量
[m,n]=size(i);
s=0;
for x=1:m
for y=1:n
s=s+i(x,y); %求像素值总和 s , i(x,y)表示位于某个坐标下的像素值
end
end
%所有像素均值
a1=mean(mean(i)); %第一种方法:先计算列向量均值,再求总均值。
a2=mean2(i); %第二种方法:用函数mean2求总均值
a3=s/(m*n); %第三种方法:按公式计算,像素值总和除以像素个数。
a4=sum(sum(i))/(m*n); %第四种方法:也是按公式计算,但是用sum来求像素值总和。
二、标准差
是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。在许多实际问题中,研究方差即偏离程度有着重要意义。图像的方差反应图像的高频部分的灰度值大小,这与图像的对比度有关。所以,如果图片对比度小,那方差就小;如果图片对比度很大,那方差就大;
1.灰色图像的标准差
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\1.jpg'); %载入真彩色图像路径
i=rgb2gray(i); %转换为灰度图
i=double(i); %将uint8型转换为double型,否则不能计算统计量
avg=mean2(i); %求图像均值
[m,n]=size(i);
s=0;
for x=1:m
for y=1:n
s=s+(i(x,y)-avg)^2; %求得所有像素与均值的平方和。
end
end
%求图像的方差
a1=var(i(:)); %第一种方法:利用函数var求得。
a2=s/(m*n-1); %第二种方法:利用方差公式求得
a3=(std2(i))^2; %第三种方法:利用std2求得标准差,再平方即为方差。
2.彩色图像分别R、G、B三个标准差
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
image=imread('E:\我的桌面\MATLAB\练习\2.jpg');%绝对路径的
R=image(:,:,1);
G=image(:,:,2);
B=image(:,:,3);
%%R通道标准差
i=double(R); %将uint8型转换为double型,否则不能计算统计量
avg=mean2(i); %求图像均值
[m,n]=size(i);
s=0;
for x=1:m
for y=1:n
s=s+(i(x,y)-avg)^2; %求得所有像素与均值的平方和。
end
end
%求图像的方差
a1=var(i(:)); %第一种方法:利用函数var求得。
a2=s/(m*n-1); %第二种方法:利用方差公式求得
a3=(std2(i))^2; %第三种方法:利用std2求得标准差,再平方即为方差。
%%G、B同理
三、熵
熵,热力学中表征物质状态的参量之一,其物理意义是体系混乱程度的度量。
图像熵:是一种图像特征的统计形式,反映了图像中平均信息量的多少。
图像的一维熵:图像中灰度分布的聚集特征所包含的信息量。
这里设Pi表示图像中灰度值为i的像素所占的比例,因此定义一元灰度熵。
图像的二维熵:和一维熵相比,增添了灰度的空间特征,而在图像处理中,我们提及的最多的空间特征就是,像素和临域像素之间的关系。二维熵在一维的基础上引入图像的邻域灰度均值用作灰度分布的空间特征量。
1.灰色图像熵
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\1.jpg'); %载入真彩色图像路径
I=rgb2gray(i); %转换为灰度图
[C,L]=size(I); %求图像的规格
Img_size=C*L; %图像像素点的总个数
G=256; %图像的灰度级
H_x=0;
nk=zeros(G,1);%产生一个G行1列的全零矩阵
for i=1:C
for j=1:L
Img_level=I(i,j)+1; %获取图像的灰度级
nk(Img_level)=nk(Img_level)+1; %统计每个灰度级像素的点数
end
end
for k=1:G %循环
Ps(k)=nk(k)/Img_size; %计算每一个像素点的概率
if Ps(k)~=0; %如果像素点的概率不为零
H_x=-Ps(k)*log2(Ps(k))+H_x; %求熵值的公式
end
end
H_x %显示熵值
2.彩色图像熵同理