% 读取图片
img = imread('test.jpg');
% 计算信息熵
img_gray = rgb2gray(img); % 转换为灰度图像
ent = entropy(img_gray); % 计算信息熵
% 计算标准差
std_img = std2(img_gray); % 计算标准差
% 计算平均梯度
[grad_mag, ~] = imgradient(img_gray, 'prewitt'); % 计算梯度模长
mean_grad = mean(grad_mag(:)); % 计算平均梯度
% 输出结果
fprintf('图片的信息熵为:%.4f\n', ent);
fprintf('图片的标准差为:%.4f\n', std_img);
fprintf('图片的平均梯度为:%.4f\n', mean_grad);
首先使用 imread
函数读取一张图片,然后使用 rgb2gray
函数将这张图片转换为灰度图像。接着,使用 entropy
函数计算灰度图像的信息熵;使用 std2
函数计算灰度图像的标准差;使用 imgradient
函数计算灰度图像的梯度,并从梯度模长中计算平均梯度。最后,输出计算结果。
需要注意的是,对于读取的图片,需要根据具体情况进行处理。例如,如果图片是黑白的,则直接读取为灰度图像即可;如果图片是彩色的,则需要将它转换为灰度图像。此外,还可以根据需要使用其他的函数对图片进行处理,以满足具体要求。