Un pipeline de procesare a imaginilor
Colegul tău a scris o funcție de preprocesare pentru imaginile cu gesturile limbajului american al semnelor, cu scopul de a îmbunătăți acuratețea modelului tău de machine learning. Această funcție primește o imagine în tonuri de gri și aplică pe ea detecția de contururi Canny. Detecția de contururi Canny este utilizată frecvent în computer vision clasic și evidențiază marginile obiectelor dintr-o imagine. Vrei să o aplici tuturor imaginilor din setul tău de date.
Funcția scrisă de colegul tău este disponibilă în mediul tău ca compute_edges() și primește o imagine cu dimensiunile (1, h, w), unde înălțimea h și lățimea w pot fi orice numere întregi.
Array-ul Dask cu imaginile tale este disponibil în mediu ca image_array. Acest array are forma (N, h, w, 3), unde N este numărul de imagini, iar cei 3 canale corespund culorilor roșu, albastru și verde.
dask.array a fost importat pentru tine ca da.
Acest exercițiu face parte din cursul
Programare paralelă cu Dask în Python
Instrucțiuni pentru exercițiu
- Convertește imaginea din color în tonuri de gri calculând media de-a lungul ultimei dimensiuni.
- Folosește metoda
.map_blocks()a array-ului de imagini în tonuri de gri pentru a aplica funcțiacompute_edges()fiecărei imagini. - Selectează doar imaginea cu contururi de la indexul zero și calculează-o.
- Folosește
plt.imshow()pentru a reprezenta grafic contururile.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()