NumPy voor afbeeldingen

Beeldverwerking in Python

Rebeca Gonzalez

Data Engineer

NumPy voor afbeeldingen

  • Basis van beeldbewerking
    • Spiegelen
    • Kenmerken extraheren en analyseren

Schattige hond die in het park loopt

Schattige hond horizontaal gespiegeld

Beeldverwerking in Python

Afbeeldingen als NdArrays

Gebouw in Madrid

# De afbeelding laden met Matplotlib
madrid_image = plt.imread('/madrid.jpeg')

type(madrid_image)
<class 'numpy.ndarray'>
Beeldverwerking in Python

Kleuren met NumPy

Druiven boven 3 extra afbeeldingen met de kleurkanalen

Beeldverwerking in Python

Kleuren met NumPy

# Rode waarden uit de afbeelding halen
red = image[:, :, 0]

# Groene waarden uit de afbeelding halen
green = image[:, :, 1]

# Blauwe waarden uit de afbeelding halen
blue = image[:, :, 2]

Kanalen van de afbeelding, afzonderlijk weergegeven

Beeldverwerking in Python

Kleuren met NumPy

Kanalen van een jonge vrouw, afzonderlijk weergegeven in grijswaarden

plt.imshow(red, cmap="gray")    
plt.title('Red')
plt.axis('off')
plt.show()
Beeldverwerking in Python

Vormen

Gebouw in Madrid

# Vorm (shape) van de afbeelding opvragen
madrid_image.shape
(426, 640, 3)
Beeldverwerking in Python

Grootten

Gebouw in Madrid

# Grootte (aantal elementen) opvragen
madrid_image.size
817920
Beeldverwerking in Python

Afbeeldingen spiegelen: verticaal

# Draai de afbeelding verticaal om
vertically_flipped = np.flipud(madrid_image)

show_image(vertically_flipped, 'Vertically flipped image')

Verticaal omgedraaide Madrid-afbeelding

Beeldverwerking in Python

Afbeeldingen spiegelen: horizontaal

# Draai de afbeelding horizontaal om
horizontally_flipped = np.fliplr(madrid_image)

show_image(horizontally_flipped, 'Horizontally flipped image')

Horizontaal omgedraaide Madrid-afbeelding

Beeldverwerking in Python

Wat is een histogram?

Histogram van een donkere afbeelding Histogram van een lichte afbeelding

Beeldverwerking in Python

Kleurhistogrammen

Kleurhistogrammen (RGB) van een afbeelding van een jonge vrouw

Beeldverwerking in Python

Toepassingen van histogrammen

  • Analyse
  • Drempelen
  • Helderheid en contrast
  • Afbeelding egaliseren

Gedrempelde afbeelding

Beeldverwerking in Python

Histogrammen in Matplotlib

Histogram van rood

# Rode kanaal van de afbeelding
red = image[:, :, 0]

# Maak het histogram van rood plt.hist(red.ravel(), bins=256)
Beeldverwerking in Python

Histogrammen visualiseren met Matplotlib

blue = image[:, :, 2]

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

Histogram van blauw in een afbeelding

Beeldverwerking in Python

Laten we oefenen!

Beeldverwerking in Python

Preparing Video For Download...