Histograms
Histograms display the distribution of values in your image by binning each element by its intensity then measuring the size of each bin.
The area under a histogram is called the cumulative distribution function. It measures the frequency with which a given range of pixel intensities occurs.
For this exercise, describe the intensity distribution in im by calculating the histogram and cumulative distribution function and displaying them together.
This exercise is part of the course
Biomedical Image Analysis in Python
Exercise instructions
- Import
scipy.ndimageasndi. - Generate a 256-bin histogram of
imwhich covers the full range ofnp.uint8values. - Calculate the cumulative distribution function for
im. First, find the cumulative sum ofhist, then divide by the total number of pixels inhist. - Plot
histandcdfon separate subplots. This has been done for you.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Import SciPy's "ndimage" module
import ____ as ____
# Create a histogram, binned at each possible value
hist = ____
# Create a cumulative distribution function
cdf = hist.cumsum() / ____
# Plot the histogram and CDF
fig, axes = plt.subplots(2, 1, sharex=True)
axes[0].plot(hist, label='Histogram')
axes[1].plot(cdf, label='CDF')
format_and_render_plot()