How to plot the equalized histogram of an image with Python? -


so code. variable img original image. variable eq equalized image.

from matplotlib.pyplot import imread, imshow, show, subplot, title, get_cmap, hist skimage.exposure import equalize_hist   img = imread('images/city.tif') eq = equalize_hist(img)  subplot(221); imshow(img, cmap=get_cmap('gray')); title('original') subplot(222); hist(img.flatten(), 256, range=(0,256)); title('histogram of      origianl') subplot(223); imshow(eq, cmap=get_cmap('gray'));  title('histogram equalized') subplot(224); hist(eq.flatten(), 256, range=(0,256));  show() 

now when run, code, histogram of original fine. histogram of equalized incorrect. of output

enter image description here

what doing wrong ?!?!

edit: builtin matlab commands the answer works fine particular image

enter image description here

it looks it's converting image uint8 format (integer values between 0 , 255 inclusive) float32 or float64 format (floating point values between 0 , 1 inclusive). try eq = np.asarray(equalize_hist(img) * 255, dtype='uint8').


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -