gpt4 book ai didi

python - 转换以十六进制保存在 np.array 中的图像以将其导入 opencv

转载 作者:行者123 更新时间:2023-12-03 08:27:25 27 4
gpt4 key购买 nike

我从相机中获取了一个存储为对象的图像,如下所示(这里进行了简化以使其易于理解):

image = np.array([['#49312E', '#4A3327', '#493228', '#472F2A'],
['#452C29', '#49312E', '#4B3427', '#49312A'],
['#473026', '#472F2C', '#48302B', '#4C342B']])

是否可以将其作为“图像”“导入”到opencv中?我尝试查看 cv2.imdecode 的文档,但可以使其正常工作。我可以预处理这个数组以将其转换为另一种格式,但我不确定什么可以“适合”opencv。

感谢您的帮助

最佳答案

这是一种非常简洁且Pythonic(使用NumPy)的方法来实现从十六进制值矩阵到可由OpenCV读取的RGB矩阵的转换。

image = np.array([['#49312E', '#4A3327', '#493228', '#472F2A'],
['#452C29', '#49312E', '#4B3427', '#49312A'],
['#473026', '#472F2C', '#48302B', '#4C342B']])

def to_rgb(v):
return np.array([np.int(v[1:3],16), np.int(v[3:5],16) , np.int(v[5:7],16)])

image_cv = np.array([to_rgb(h) for h in image.flatten()]).reshape(3, 4, 3)
cv2.imwrite('result.png', image_cv)

关于python - 转换以十六进制保存在 np.array 中的图像以将其导入 opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66231122/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com