本文共 983 字,大约阅读时间需要 3 分钟。
在机器视觉和图像处理项目中,常需要将 OpenCV 的图像(NP数组)与 Halcon 的图像对象(HObject)进行交互。本文将详细介绍如何实现 OpenCV NP 数组到 HObject 的转换。
步骤说明:
读取图像文件
首先,使用 OpenCV 读取图像文件,获取图像数据作为 NumPy 数组。import cv2import halcon as hafrom PIL import Imagefrom halcon.numpy_interop import himage_as_numpy_array, himage_from_numpy_array# 读取 OpenCV 图像dogcat_image = cv2.imread(r"C:\Users\11716\Desktop\DogCat-seg\images\train\13.jpg")
将 OpenCV NP 数组转为 HObject
OpenCV 的图像数据以 BGR 格式存储,而 Halcon 通常使用 RGB 格式。因此,需要先将 OpenCV 的 BGR 格式转换为 RGB 格式。# 将 OpenCV NP 数组转换为 Halcon 支持的 RGB 格式res = himage_as_numpy_array(dogcat_image)# 转换颜色空间为 RGBimg = cv2.cvtColor(res, cv2.COLOR_RGB2BGR)
将 RGB 格式的 NP 数组转为 HObject
使用 Halcon 的himage_from_numpy_array 函数将 OpenCV 的 RGB 格式 NP 数组转换为 HObject。# 将 NP 数组转换为 Halcon 图像对象hobjectImg = himage_from_numpy_array(img)
验证转换结果
通过打印转换后的对象类型,确认转换过程的正确性。print(type(hobjectImg))
总结:
通过上述步骤,可以将 OpenCV 的图像 NP 数组成功转换为 Halcon 的 HObject,实现两种图像处理库的无缝对接。在实际应用中,可以根据需要进一步调整图像处理流程,充分发挥 Halcon 的优势。转载地址:http://evafk.baihongyu.com/