我想获得图像强度的均匀性值。在描述表中,它描述如下:
一般说明
如果Z是指示图像强度的随机变量,则其在 n 周围的平均值是
其中 m 是 Z 的平均值, p(。)其直方图和 L 是数字强度等级。
统一性
统一性,定义为
当所有强度等级相等时,达到均匀度的最大值。
我不明白,我想知道的是p和L。我不知道如何计算它们。另外, p(。)中的(。)是什么?
修改
% V component of HSV image, contains 0~1 values in double type
% size(Iv) = 960 720
Z = Iv(:);
IL = unique(Z); % Get all intensity levels
noinle = numel(IL); % Number of intensity levels
p = hist(Ivc, noinle); % Histogram
U = 0;
for i = 1:noinle
U = U + sum( p(i,:).^2 );
end
此操作会产生非常大的数字,这些数字在给定的样本数据集中不兼容。它们都是0到1之间的双数。
答案 0 :(得分:2)
假设您的图片存储在名为Img
的数组中,您可以使用以下代码获取L
和p
:
IL = unique(Img(:)); % Get all intensity levels
L = numel(IL); % Number of intensity levels
p = histogram(Img, IL); % Histogram
最佳,
答案 1 :(得分:1)
除非在论文中定义,否则通常这些是定义:
p
是图像的直方图。这是对放入水桶的图像中颜色的分解。在matlab中,函数是h = histogram(x,nbins)
。
L
是桶的数量。通常,这是您根据应用程序决定的。