開始使用免費開始

影像處理流程

你的同事寫了一個前處理函式,用於美國手語影像,以提升你的機器學習模型的準確率。這個函式會把灰階影像套用 Canny 邊緣偵測。Canny 邊緣偵測常用於傳統電腦視覺,可凸顯影像中物體的邊緣。你想把它套用到資料集中所有影像。

同事寫的函式已可在環境中使用,名稱為 compute_edges(),輸入為維度為 (1, h, w) 的影像,其中高度 h 與寬度 w 可為任意整數。

你的影像 Dask 陣列在環境中名為 image_array。此陣列的形狀為 (N, h, w, 3),其中 N 是影像數量,而 3 個通道分別代表紅、藍、綠。

dask.array 已替你匯入為 da

本練習屬於課程

在 Python 中使用 Dask 進行平行程式設計

檢視課程

練習說明

  • 透過沿最後一個維度取平均,將彩色影像轉為灰階。
  • 使用灰階影像陣列的 .map_blocks() 方法,將 compute_edges() 套用到每張影像。
  • 僅選取第 0 張邊緣影像並計算(compute)它。
  • 使用 plt.imshow() 繪製邊緣影像。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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()
編輯並執行程式碼