首页 > 代码库 > 利用matlab求图像均值和方差的几种方法
利用matlab求图像均值和方差的几种方法
一、求均值
% 求一副灰度图像的均值close all;clear;clc;i=imread(‘d:/lena.jpg‘); %载入真彩色图像i=rgb2gray(i); %转换为灰度图i=double(i); %将uint8型转换为double型,否则不能计算统计量% avg1=mean(i,1); %列向量均值% avg2=mean(i,2); %行向量均值% avg3=mean(i); %列向量均值[m,n]=size(i);s=0;for x=1:m for y=1:n s=s+i(x,y); %求像素值总和 s endend%所有像素均值a1=mean(mean(i)); %第一种方法:先计算列向量均值,再求总均值。a2=mean2(i); %第二种方法:用函数mean2求总均值a3=s/(m*n); %第三种方法:按公式计算,像素值总和除以像素个数。a4=sum(sum(i))/(m*n); %第四种方法:也是按公式计算,但是用sum来求像素值总和。
二、求方差
% 求一副灰度图像的方差close allclearclc;i=imread(‘d:/lena.jpg‘); %载入真彩色图像i=rgb2gray(i); %转换为灰度图i=double(i); %将uint8型转换为double型,否则不能计算统计量% sq1=var(i,0,1); %列向量方差,第二个参数为0,表示方差公式分子下面是n-1,如果为1则是n% sq2=var(i,0,2); %行向量方差avg=mean2(i); %求图像均值[m,n]=size(i);s=0;for x=1:m for y=1:n s=s+(i(x,y)-avg)^2; %求得所有像素与均值的平方和。 endend%求图像的方差a1=var(i(:)); %第一种方法:利用函数var求得。a2=s/(m*n-1); %第二种方法:利用方差公式求得a3=(std2(i))^2; %第三种方法:利用std2求得标准差,再平方即为方差。
利用matlab求图像均值和方差的几种方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。