Гистограммы
Гистограммы показывают распределение значений в изображении: каждый пиксель относится к определённому диапазону интенсивности, и для каждого диапазона подсчитывается количество таких пикселей.
Площадь под гистограммой называется функцией кумулятивного распределения. Она показывает, насколько часто встречаются пиксели с тем или иным диапазоном интенсивности.
В этом упражнении вы опишете распределение интенсивностей в массиве im: вычислите гистограмму и функцию кумулятивного распределения, а затем отобразите их вместе на одном графике.
Это упражнение является частью курса
Анализ биомедицинских изображений на Python
Инструкции к упражнению
- Импортируйте
scipy.ndimageкакndi. - Постройте гистограмму массива
imс 256 интервалами, охватывающую весь диапазон значений типаnp.uint8. - Вычислите функцию кумулятивного распределения для
im. Сначала найдите кумулятивную суммуhist, затем разделите её на общее количество пикселей вhist. - Постройте
histиcdfна отдельных подграфиках. Этот шаг уже выполнен за вас.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()