我想将直方图分成两个区域(通过获取直方图图像的平均强度值)。将直方图分成两个区域
hR = imhist(redChannel);
minRed = min(redChannel(:));
maxRed = max(redChannel(:));
avgRed = (minRed+maxRed)/2;
hlowR = hR(1:avgRed);
hhighR = hR(avgRed:256);
hlowR给出值但hhighR为空。我不知道什么是错的。请帮忙。由于
我想将直方图分成两个区域(通过获取直方图图像的平均强度值)。将直方图分成两个区域
hR = imhist(redChannel);
minRed = min(redChannel(:));
maxRed = max(redChannel(:));
avgRed = (minRed+maxRed)/2;
hlowR = hR(1:avgRed);
hhighR = hR(avgRed:256);
hlowR给出值但hhighR为空。我不知道什么是错的。请帮忙。由于
hR = imhist(redChannel);
% minRed = min(redChannel(:));
% maxRed = max(redChannel(:));
% avgRed = (minRed+maxRed)/2;
avgRed = mean(redChannel(:)); % get mean directly
hlowR = hR(hR<=avgRed); % Logical index to find all values below the average
hhighR = hR(hR>=avgRed);% Logical index to find all values above the average
您正在使用avgRed
直接作为指标,而你应该检查的hR
值是否高于或低于它,使用logical indexing。
感谢您的回答。你能告诉我如何在每个区域进行直方图拉伸? –
@BENISHAMIN这是另一个问题,所以请在Stack Overflow上做一个单独的帖子,牢记[ask]的规则,所以在发布之前请自己尝试一下。 – Adriaan
“avgRed”的价值是什么? –