第一步 Halcon打开一张图片到HObject:
image = ha.read_image(fr'{dir_path}\{file_name}')
第二步 将HObject转为numpy数组:
np_array = ha.himage_as_numpy_array(image)
第三步 将numpy数组加载为PIL对象:
pil_image = Image.fromarray(np_array)
完整代码:
import halcon as ha
from PIL import Image
import numpy as np
# Halcon读入图片
image = ha.read_image(r'.\1.jpg')
# 转numpy数组
np_array = ha.himage_as_numpy_array(image)
# 转PIL对象
pil_image = Image.fromarray(np_array)
# 显示或保存PIL对象
il_image.show()
pil_image.save('./2.jpg')
总结:
可用于PIL后续处理,例如在图片对象上添加文字水印等,比halcon的操作要方便,并且对中文支持好!