1. 利用函数mean2()和std()对灰度图像进行一阶矩、二阶矩、三阶矩的计算
close all; clear all; clc;
I = imread('lena.jpg'); % 读取图像,赋值给J
I = rgb2gray(I);
K = imadjust(I, [70/255, 160/255], []); % 灰度级调整。将[70 160]的灰度扩展到[0 255],增强图像的对比度
figure;
subplot(121), imshow(I); % 显示原始图像
subplot(122), imshow(K); % 显示对比度增强的图像
[m, n] = size(I); % 求图像I数据矩阵的大小,m表示图像的行,n表示图像的列
mm = round(m/2); % 对m/2取整,round表示四舍五入到最近邻的整数
nn = round(n/2);
[p, q] = size(K);
pp = round(p/2);
qq = round(q/2);
I = double(I); % 将图像数据类型变为double型
K = double(K);
colorsum = 0.0; % 给灰度值总和赋0
I_avg = mean2(I); % 求原始图像的一阶矩,一阶矩即是均值
K_avg = mean2(K); % 求对比度增强后的图像的一阶矩
I_std = std(std(I)); % 求原始图像的二阶矩,二阶矩即是方差
K_std = std(std(K)); % 求对比度增强后的图像的二阶矩
for i = 1 : mm
for j = 1 : nn
colorsum = colorsum + (I(i