NumPy dla obrazów

Przetwarzanie obrazów w Pythonie

Rebeca Gonzalez

Data Engineer

NumPy dla obrazów

  • Podstawy przetwarzania obrazów
    • Odbijanie
    • Wyodrębnianie i analiza cech

Pies spacerujący w parku

Pies odbity poziomo

Przetwarzanie obrazów w Pythonie

Obrazy jako NdArrays

Budynek w Madrycie

# Loading the image using Matplotlib
madrid_image = plt.imread('/madrid.jpeg')

type(madrid_image)
<class 'numpy.ndarray'>
Przetwarzanie obrazów w Pythonie

Kolory z NumPy

Obraz winogron z trzema obrazami kanałów kolorów poniżej

Przetwarzanie obrazów w Pythonie

Kolory z NumPy

# Obtaining the red values of the image
red = image[:, :, 0]

# Obtaining the green values of the image
green = image[:, :, 1]

# Obtaining the blue values of the image
blue = image[:, :, 2]

Kanały obrazu wyświetlone osobno

Przetwarzanie obrazów w Pythonie

Kolory z NumPy

Kanały obrazu młodej kobiety wyświetlone osobno w skali szarości

plt.imshow(red, cmap="gray")    
plt.title('Red')
plt.axis('off')
plt.show()
Przetwarzanie obrazów w Pythonie

Kształty

Budynek w Madrycie

# Accessing the shape of the image
madrid_image.shape
(426, 640, 3)
Przetwarzanie obrazów w Pythonie

Rozmiary

Budynek w Madrycie

# Accessing the shape of the image
madrid_image.size
817920
Przetwarzanie obrazów w Pythonie

Odbijanie obrazów: pionowo

# Flip the image in up direction
vertically_flipped = np.flipud(madrid_image)

show_image(vertically_flipped, 'Vertically flipped image')

Obraz Madrytu odbity pionowo

Przetwarzanie obrazów w Pythonie

Odbijanie obrazów: poziomo

# Flip the image in left direction
horizontally_flipped = np.fliplr(madrid_image)

show_image(horizontally_flipped, 'Horizontally flipped image')

Obraz Madrytu odbity poziomo

Przetwarzanie obrazów w Pythonie

Czym jest histogram?

Histogram ciemnego obrazu Histogram jasnego obrazu

Przetwarzanie obrazów w Pythonie

Histogramy kolorów

Histogram kolorowego obrazu RGB młodej kobiety z osobnym histogramem dla każdego kanału

Przetwarzanie obrazów w Pythonie

Zastosowania histogramów

  • Analiza
  • Progowanie
  • Jasność i kontrast
  • Wyrównywanie obrazu

Obraz po progowaniu

Przetwarzanie obrazów w Pythonie

Histogramy w Matplotlib

Histogram koloru czerwonego

# Red color of the image
red = image[:, :, 0]

# Obtain the red histogram plt.hist(red.ravel(), bins=256)
Przetwarzanie obrazów w Pythonie

Wizualizacja histogramów w Matplotlib

blue = image[:, :, 2]

plt.hist(blue.ravel(), bins=256)
plt.title('Blue Histogram')
plt.show()

Histogram koloru niebieskiego obrazu

Przetwarzanie obrazów w Pythonie

Czas na ćwiczenia!

Przetwarzanie obrazów w Pythonie

Preparing Video For Download...