matlab提升(1):用matlab求图像的均值和方差
2016-12-05 20:32
363 查看
一、求均值
% 求一副灰度图像的均值 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来求像素值总和。
二、求方差
% 求一副灰度图像的方差 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求得标准差,再平方即为方差。
相关文章推荐
- caffe for windows的matlab接口(四):权重和特征图可视化的一个例子
- caffe for windows的matlab接口(三):权重和特征图的可视化
- matlab 中的textscan
- 关于matlab中textread
- 在M文件中使用模糊工具箱fis文件
- MATLAB R2016a 未找到支持的编译器或SDK-长沙铁路段曹辉
- matlab读取pcm音频数据
- MATLAB画柱状图填充(多种)
- spams----稀疏建模工具箱在MATLAB下的安装编译
- matlab 随机数种子
- libsvm在MATLAB的安装
- vlfeat工具包的MATLAB安装
- matlab邻域操作测试
- matlab之将视频逐帧保存为图片
- HMM隐马尔科夫模型 MATLAB 工具包对各种数据的处理
- 隐马尔科夫模型matlab工具箱说明
- Matlab与线性代数 -- 矩阵的复制
- MATLAB遗传算法实例
- k-means算法及matlab实现
- matlab 工具函数 —— normalize(归一化数据)