Kom igångKom igång gratis

En bildbehandlingspipeline

Din kollega har skrivit en förbehandlingsfunktion för bilder av amerikanskt teckenspråk, i syfte att förbättra din maskininlärningsmodells precision. Funktionen tar en gråskalebild och kör Canny-kantdetektering på den. Canny-kantdetektering används ofta inom klassisk datorseende och framhäver kanterna på objekt i en bild. Du vill tillämpa den på alla bilder i din datamängd.

Funktionen som din kollega har skrivit finns tillgänglig i din miljö som compute_edges() och tar en bild med dimensionerna (1, h, w), där höjden h och bredden w kan vara godtyckliga heltal.

Dask-matrisen med dina bilder finns i miljön som image_array. Den har formen (N, h, w, 3), där N är antalet bilder och de 3 kanalerna motsvarar rött, blått och grönt.

dask.array har importerats åt dig som da.

Den här övningen är en del av kursen

Parallellprogrammering med Dask i Python

Visa kurs

Övningsinstruktioner

  • Konvertera bilden från färg till gråskala genom att ta medelvärdet längs den sista dimensionen.
  • Använd .map_blocks()-metoden på gråskalebildmatrisen för att tillämpa funktionen compute_edges() på varje bild.
  • Välj ut enbart den nollte kantbilden och beräkna den.
  • Använd plt.imshow() för att rita ut kanterna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Convert the color photos to grayscale
grayscale_images = ____

# Apply the edge detection function
edge_images = ____.____(____)

# Select the zeroth image and compute its values
sample_image = ____

# Show the result
____(____, cmap='gray')
plt.show()
Redigera och kör kod