我想将直方图划分为两个区域(通过获取直方图图像的平均强度值).
hR = imhist(redChannel);
minRed = min(redChannel(:));
maxRed = max(redChannel(:));
avgRed = (minRed+maxRed)/2;
hlowR = hR(1:avgRed);
hhighR = hR(avgRed:256);
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
您正在avgRed直接使用索引,而您应hR使用逻辑索引检查值是高于还是低于它.