Sebuah pipeline pemrosesan gambar
Rekan Anda telah menulis sebuah fungsi prapemrosesan untuk digunakan pada gambar American Sign Language guna meningkatkan akurasi model Machine Learning Anda. Fungsi ini akan mengambil gambar berskala abu-abu dan menjalankan deteksi tepi Canny. Deteksi tepi Canny umum digunakan dalam computer vision klasik dan menyoroti tepi objek pada gambar. Anda ingin menerapkannya ke semua gambar dalam himpunan data Anda.
Fungsi yang ditulis rekan Anda tersedia di lingkungan sebagai compute_edges(), dan menerima sebuah gambar berdimensi (1, h, w) di mana tinggi h dan lebar w dapat berupa bilangan bulat apa pun.
Array Dask berisi gambar-gambar Anda tersedia di lingkungan sebagai image_array. Array ini memiliki bentuk (N, h, w, 3) di mana N adalah jumlah gambar, dan terdapat 3 kanal untuk merah, biru, dan hijau.
dask.array telah diimpor untuk Anda sebagai da.
Latihan ini adalah bagian dari kursus
Pemrograman Paralel dengan Dask di Python
Petunjuk latihan
- Konversi gambar berwarna ke skala abu-abu dengan mengambil rata-rata sepanjang dimensi terakhir.
- Gunakan metode
.map_blocks()pada array gambar skala abu-abu untuk menerapkan fungsicompute_edges()ke setiap gambar. - Pilih hanya gambar tepi ke-0 dan hitung.
- Gunakan
plt.imshow()untuk memplot tepinya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()