Problem with imhist after modify image

Hello, Why After histogram in 0 to 1 range?
I=imread('cameraman.tif');
figure
subplot(2,2,1);
imshow(I);
title('Original');
subplot(2,2,2);
imhist(I);
title('Original Histogram');
I=double(I);
fis=readfis('FIS4');
[m n]=size(I);
for i=1:m
for j=1:n
I(i,j)=evalfis(I(i,j),fis);
end
end
subplot(2,2,3);
imshow(uint8(I));
title('After');
subplot(2,2,4);
imhist(I);
title('After Histogram');

Antworten (2)

Ahmet Cecen
Ahmet Cecen am 11 Mär. 2016

1 Stimme

For now use:
imhist(uint8(I))
That will get your work done, although it puzzles me why that is necessary, because imhist normally accepts double.

4 Kommentare

Dani D
Dani D am 11 Mär. 2016
I use uint8(I) for imshow,not imhist
Ahmet Cecen
Ahmet Cecen am 11 Mär. 2016
... and I am telling you to use it for imhist as well, it will make it work...
rjvyas
rjvyas am 6 Okt. 2017
I had the same problem and using imhist(uint8(I)) worked! Thank you
You can also use histogram:
histogram(I);
which doesn't require conversion to integer.

Melden Sie sich an, um zu kommentieren.

Julie
Julie am 11 Mär. 2016

0 Stimmen

It changed the range, sometimes it does grayscale in 0-255, and sometimes it does it in 0-1. It won't make a difference to your image. To fix your histogram use
imhist(I.*255);

3 Kommentare

Dani D
Dani D am 11 Mär. 2016
Thanks and i use it but don't effect.
Zahra Saman
Zahra Saman am 12 Apr. 2018
please help me in this problem
Zahra Saman
Zahra Saman am 12 Apr. 2018
please help me in this problem

Melden Sie sich an, um zu kommentieren.

Tags

Gefragt:

am 11 Mär. 2016

Kommentiert:

am 12 Apr. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by