沿直方图值范围移动

时间:2013-09-08 00:54:46

标签: matlab histogram shift

假设我有一些image,我找到了histogram。还要说我想要为直方图中的每个元素计算一些equation。如何在MATLAB

中移动直方图值

我做了以下事情:

I=imread('xyz.jpg');
h=imhist(I);
h(1) % get the value of the first element

通过这种方式,为了应用我的等式,我使用了h(1)值。

这样对吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果你想迭代直方图值,我建议你提取imhist的两个输出(我冒昧地给它们提供更具表现力的变量名称):

[counts, bins] = imhist(I);

数组binscounts分别包含直方图bin位置及其计数。然后你可以使用for循环:

res = zeros(numel(counts), 1); %// Preallocate array for the result
for k = 1:numel(counts)
    %// Apply equation on counts(k) and bins(k), for example:
    res(k) = some_equation(bins(k), counts(k));
end
如果可能,

或以矢量化形式应用等式。