Histogramy
Histogramy pokazują rozkład wartości w obrazie – każdy piksel jest przypisywany do przedziału (ang. bin) na podstawie jego intensywności, a następnie mierzy się liczebność każdego z tych przedziałów.
Pole powierzchni pod histogramem nosi nazwę skumulowanej funkcji rozkładu (ang. cumulative distribution function). Określa ona, jak często w obrazie występuje dany zakres intensywności pikseli.
W tym ćwiczeniu opisz rozkład intensywności w obrazie im: oblicz histogram i skumulowaną funkcję rozkładu, a następnie wyświetl je razem na jednym wykresie.
To ćwiczenie jest częścią kursu
Analiza obrazów biomedycznych w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
scipy.ndimagejakondi. - Wygeneruj 256-przedziałowy histogram obrazu
im, obejmujący pełny zakres wartościnp.uint8. - Oblicz skumulowaną funkcję rozkładu dla
im. W tym celu najpierw wyznacz skumulowaną sumęhist, a następnie podziel ją przez całkowitą liczbę pikseli whist. - Wykreśl
histicdfna osobnych wykresach podrzędnych – ten krok został już za ciebie wykonany.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()