Why is imhist() not clipping data?
Show older comments
I can't seem to find out why that imhist plots aren't clipping the data. Or why the color bar is inside of the plot.
figure, sgtitle(strcat('Number of intensity levels = ',string(n_lvls)))
subplot(2,2,1), imshow(og_img), axis image, title('Original small matrix')
subplot(2,2,2), imhist(og_img), ylim([0 1000]), title('Original Image Histogram')
subplot(2,2,3), imshow(histeq(og_img)), axis image, title('Histogram equalized')
subplot(2,2,4), imhist(histeq(og_img)), title('Histogram equalized image histogram')

1 Comment
Could you provide the necessary data so we can attempt to reproduce this?
Also, whenever you report a problem like this, always include the software version number. (see ver).
You may also want to review, https://www.mathworks.com/help/matlab/creating_plots/resolving-low-level-graphics-issues.html
Answers (1)
Image Analyst
on 4 Oct 2020
This works fine for me
og_img = imread('cameraman.tif');
n_lvls = 100;
figure, sgtitle(strcat('Number of intensity levels = ',string(n_lvls)))
subplot(2,2,1), imshow(og_img), axis image, title('Original small matrix')
subplot(2,2,2), imhist(og_img)
% ylim([0 1000])
title('Original Image Histogram')
subplot(2,2,3), imshow(histeq(og_img)), axis image, title('Histogram equalized')
subplot(2,2,4), imhist(histeq(og_img)), title('Histogram equalized image histogram')
Why are you calling ylim?

3 Comments
Zackary Coburn
on 4 Oct 2020
Image Analyst
on 5 Oct 2020
It appears sgtitle() is causing the gray scale wedge to appear in the wrong place. I'll contact the Image Processing team developers about it. If you take out sgtitle() it seems to work fine.
Zackary Coburn
on 5 Oct 2020
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!