matlab图像的统计特性(均值、标准差、⽅差、相关系数、等⾼线)
1. 引⾔
我们在概率论和统计学中,经常对⼀组数据进⾏分析,通过对数组的均值、⽅差、标准差等统计特性来分析得到想要的统计信息。我们都知道数字图像是通过矩阵表现的,在matlab中,灰度图像是⼀个⼆维矩阵,RGB的彩⾊图像是⼀个三维矩阵,同样可以通过统计特性得到⼀幅图像的统计信息,来帮助我们对图像进⾏判断。
2. 统计特性及代码
2.1 均值
均值顾名思义就是求平均值,对于灰度图像就是计算图像的灰度平均值,对于彩⾊图像既可以计算所有颜⾊值的平均值也可以计算每种颜⾊的平均值。
调⽤函数:mean2()
下⾯对这组彩⾊图和灰度图求均值:
I=imread('onion.png');
J=rgb2gray(I);
RGB=mean2(I)        %RGB图像的均值
GRAY=mean2(J)        %灰度图像的均值
R=mean2(I(:,:,1))    %红⾊的均值
G=mean2(I(:,:,2))    %蓝⾊的均值
B=mean2(I(:,:,3))    %绿⾊的均值
figure;
subplot(121);imshow(I);
subplot(122);imshow(J);
得到的均值如下:
从得到的均值数据看,R G B三个颜⾊的均值再求均值即为RGB彩⾊图像的均值,红⾊和绿⾊的均值较⼤,蓝⾊均值较⼩,说明原图中红⾊和绿⾊的成分较多,蓝⾊成分较少
2.2 标准差
标准差反映了图像像素值与均值的离散程度
调⽤函数:std2()
下⾯对⼀组原图和直⽅图均衡化后的图像求标准差:
I=imread('sweden.jpg');
I=rgb2gray(I);
s1=std2(I)
J=histeq(I);
s2=std2(J)
figure;
subplot(121);imshow(I),title('原图');
subplot(122);imshow(J),title('直⽅图均衡化后的图像');
得到的标准差如下:
可以看出,通过直⽅图均衡化后的图像,明暗对⽐度增加,标准差变⼤。
2.3 ⽅差
⽅差为标准差的平⽅
可以⽤以下三种⽅法计算图像矩阵的⽅差:
①利⽤函数var求:a1=var(I(: ))
②利⽤标准差的平⽅求:a3=(std2(I))^2
下⾯分别⽤两种⽅法求lena图的⽅差:
I=imread('lena.png');
I=rgb2gray(I);
matlab直方图I=im2double(I);
std=std2(I);
r1=var(I(:))
r2=std^2
得到的⽅差结果如下:
2.4 相关系数
两个⼤⼩相同的⼆维矩阵,可以通过计算相关系数判断相似度。
调⽤函数:corr2()
下⾯计算三张图之间的相关系数:
I=rgb2gray(imread('lena.png'));
J=medfilt2(I);
K=rgb2gray(imread('Baboon.jpg'));
figure;
subplot(131);imshow(I);title('lena图');
subplot(132);imshow(J);title('lena图中值滤波');
subplot(133);imshow(K);title('Baboon图');
r1=corr2(I,J)
r2=corr2(I,K)
得到的相关系数如下:
可以看出lena图与中值滤波后的lena图之间的相关系数为0.9959,说明相关度很⾼,⽽lena图与baboon图之间的相关系数为-0.0431,说明两张图⽆关。
2.5 等⾼线
调⽤函数:imcontour()
I=imread('toysflash.png');
I=rgb2gray(I);
figure;
subplot(121);imshow(I);
subplot(122);imcontour(I);
左图为原图,右图为等⾼线图
后⾯想到会随时补充

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。