假设我有一些image
,我找到了histogram
。还要说我想要为直方图中的每个元素计算一些equation
。如何在MATLAB
?
我做了以下事情:
I=imread('xyz.jpg');
h=imhist(I);
h(1) % get the value of the first element
通过这种方式,为了应用我的等式,我使用了h(1)
值。
这样对吗?
感谢。
答案 0 :(得分:1)
如果你想迭代直方图值,我建议你提取imhist
的两个输出(我冒昧地给它们提供更具表现力的变量名称):
[counts, bins] = imhist(I);
数组bins
和counts
分别包含直方图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
如果可能,或以矢量化形式应用等式。