以下代码使用 Qt 中的 QImage 类将 NumPy 数组 edges 转换为灰度图像:

qimage = QImage(edges.data, edges.shape[1], edges.shape[0], QImage.Format_Grayscale8)

让我们逐个解释每个参数:

  • QImage: 这是 Qt 中用于处理图像的类。
  • edges.data: 这是指向图像数据的指针。edges 是一个 NumPy 数组,它存储了图像数据。
  • edges.shape[1]: 表示图像的宽度。shape[1] 是 NumPy 数组 edges 的第二个维度,它对应于图像的列数,即宽度。
  • edges.shape[0]: 表示图像的高度。shape[0] 是 NumPy 数组 edges 的第一个维度,它对应于图像的行数,即高度。
  • QImage.Format_Grayscale8: 表示图像的格式为 8 位灰度图像。灰度图像中的每个像素使用 8 位来表示其亮度值,范围从 0(黑色)到 255(白色)。

因此,该行代码将 NumPy 数组 edges 中的图像数据转换为 QImage 对象,图像格式为 8 位灰度图像。

注意: 为了确保代码正常工作,edges 数组必须是单通道的,并且数据类型必须与 QImage.Format_Grayscale8 兼容,例如 uint8


原文地址: https://www.cveoy.top/t/topic/nzuM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录