1、求均值函數
% 求一副灰度圖像的均值 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 end end %全部像素均值 a1=mean(mean(i)); %第一種方法:先計算列向量均值,再求總均值。 a2=mean2(i); %第二種方法:用函數mean2求總均值 a3=s/(m*n); %第三種方法:按公式計算,像素值總和除以像素個數。 a4=sum(sum(i))/(m*n); %第四種方法:也是按公式計算,可是用sum來求像素值總和。
2、求方差ui
% 求一副灰度圖像的方差 close all clear clc; 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; %求得全部像素與均值的平方和。 end end %求圖像的方差 a1=var(i(:)); %第一種方法:利用函數var求得。 a2=s/(m*n-1); %第二種方法:利用方差公式求得 a3=(std2(i))^2; %第三種方法:利用std2求得標準差,再平方即爲方差。