Matlab 使用最小值和最大值阈值计算直方图

Matlab 使用最小值和最大值阈值计算直方图,matlab,histogram,Matlab,Histogram,在matlab中: 我有一个RGB图像“img”。 如果我写: tmpImg=imhist(img); 我得到了整个图像的直方图。 我想计算“minVal”和“maxVal”之间的像素直方图 我该怎么做? 感谢您可以在每个通道的值范围内使用逻辑索引,即对于图像i,i在minVal和maxVal之间的值是 I(I>minVal&I<maxVal) I(I>minVal&IminVal&C) I = double(imread('peppers.png')); % examp

在matlab中: 我有一个RGB图像“img”。 如果我写:

tmpImg=imhist(img);
我得到了整个图像的直方图。 我想计算“minVal”和“maxVal”之间的像素直方图

我该怎么做?
感谢您可以在每个通道的值范围内使用逻辑索引,即对于图像i,
i
minVal
maxVal
之间的值是

I(I>minVal&I<maxVal)
I(I>minVal&IminVal&C)
I = double(imread('peppers.png')); % example image
minVal = 50;
maxVal = 200;
nBins = 50; % histogram bins
for i=1:3
    C = I(:,:,i);
    [countsC(i,:),binsC(i,:)] = hist(C(C>minVal&C<maxVal),nBins);
end

figure; hold all; % draw 3 "bounded" histograms on same plot
c = {'r','g','b'};
for i=1:3
    stem(binsC(i,:), countsC(i,:), c{i}, '.');
end
axis tight