フィルターのクリア

How to create histograms for L a b channels separately in CIELAB color space.

3 ビュー (過去 30 日間)
senthil vadivu
senthil vadivu 2016 年 11 月 24 日
編集済み: DGM 2024 年 5 月 24 日
How to create histograms for L a b channels separately in CIELAB color space.

採用された回答

Image Analyst
Image Analyst 2016 年 11 月 24 日
編集済み: Image Analyst 2024 年 5 月 7 日
Try this:
rgbImage = imread('peppers.png'); % Read in example image shipped with MATLAB
labImage = rgb2lab(rgbImage);
[LImage, AImage, BImage] = imsplit(labImage);
Then call histogram on each image.
figure;
subplot(4, 2, 1);
imshow(rgbImage);
title('Original RGB image')
subplot(4, 2, 3);
imshow(LImage, []);
title('L Image')
subplot(4, 2, 4);
histogram(LImage);
title('Histogram of L image');
subplot(4, 2, 5);
imshow(AImage, []);
title('A Image')
subplot(4, 2, 6);
histogram(AImage);
title('Histogram of A image');
subplot(4, 2, 7);
imshow(BImage, []);
title('B Image')
subplot(4, 2, 8);
histogram(BImage);
title('Histogram of B image');
Or see my attached demo and adapt it to LAB color space.

その他の回答 (1 件)

DGM
DGM 2024 年 5 月 7 日
編集済み: DGM 2024 年 5 月 24 日
Let's actually plot some histograms. I'm using fixed xlimits so that the histograms are presented consistently between images and it's readily apparent where the chroma distribution is in relative terms. The limits I chose are wider than the gamut of sRGB as projected into LAB using the applied transformation parameters buried in rgb2lab(), though I've made no effort to mark those extents. I just wanted the neutral axis to be centered.
inpict = imread('peppers.png');
labpict = rgb2lab(inpict);
limits = [0 100; -108 108; -108 108]; % oversize and symmetric
for c = 1:3
subplot(3,1,c)
histogram(labpict(:,:,c));
% use fixed limits so that presentation is consistent
xlim(limits(c,:))
end
MIMT now has a tool to do this.
% an RGB image
inpict = imread('peppers.png');
% use defaults
cshist(inpict,'lab');
% use a filled patch instead of the default bar plot
cshist(inpict,'lab','style','patch');
% or use a stem plot like imhist()
cshist(inpict,'lab','style','stem');
See also:

カテゴリ

Help Center および File ExchangeHistograms についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by