首页 > 解决方案 > Matlab:标准化后直方图下降?

问题描述

所以我试图复制这个直方图: 预期结果

但我最终得到了这个呈绿色和蓝色的直方图: 结果失败

clear all;
close all;
clc;
% read and convert image into double
palm = imread('palm down.jpg');
doublePalm = im2double(palm);

%split into RGB
redPalm = doublePalm(:,:,1);
greenPalm = doublePalm(:,:,2);
bluePalm = doublePalm(:,:,3);

%normalize count
redPalm = (redPalm-min(redPalm(:)))/(max(redPalm(:))-min(redPalm(:)));
[yRed, xRed] = imhist(redPalm);

greenPalm = (greenPalm-min(greenPalm(:)))/(max(greenPalm(:))-min(greenPalm(:)));
[yGreen, xGreen] = imhist(greenPalm);

bluePalm = (bluePalm-min(bluePalm(:)))/(max(bluePalm(:))-min(bluePalm(:)));
[yBlue, xBlue] = imhist(bluePalm);

%mean
meanRed = mean2(redPalm);

figure;
subplot(1,2,1); plot(xRed, yRed, 'Red', xGreen, yGreen, 'Green', xBlue, yBlue, 'Blue'); title('RGB Channel'); xlabel('Intensity'); ylabel('Normalised Count'); 

编辑 手掌向下.jpg

标签: matlabhistogramnormalization

解决方案


推荐阅读