开始使用免费开始使用

图像处理流水线

您的同事编写了一个用于美式手语图像的预处理函数,以提升您的机器学习模型的准确率。这个函数会接收一幅灰度图,并对其运行 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 张边缘图并对其执行计算。
  • 使用 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()
编辑并运行代码