gpt4 book ai didi

python - 如何使用 Opencv 2.4 将 python numpy 数组转换为 RGB 图像?

转载 作者:IT老高 更新时间:2023-10-28 22:18:57 32 4
gpt4 key购买 nike

我搜索了类似的问题,但没有发现任何有用的信息,因为大多数解决方案都使用旧版本的 OpenCV。

我有一个 3D numpy 数组,我想使用 OpenCV (cv2) 将其显示和/或保存为 BGR 图像。

作为一个简短的例子,假设我有:

import numpy, cv2
b = numpy.zeros([5,5,3])

b[:,:,0] = numpy.ones([5,5])*64
b[:,:,1] = numpy.ones([5,5])*128
b[:,:,2] = numpy.ones([5,5])*192

我想做的是将 b 保存并显示为类似于以下内容的彩色图像:

cv2.imwrite('color_img.jpg', b)
cv2.imshow('Color image', b)
cv2.waitKey(0)
cv2.destroyAllWindows()

这不起作用,大概是因为 b 的数据类型不正确,但是经过大量搜索后,我无法弄清楚如何将其更改为正确的。如果您能提供任何指点,将不胜感激!

最佳答案

您不需要将 NumPy 数组转换为 Mat 因为 OpenCV cv2 模块可以接受 NumPyarray .您唯一需要注意的是 {0,1} 映射到 {0,255} 并且 NumPy 数组中任何大于 1 的值都等于 255。所以你应该在你的代码,如下图。

img = numpy.zeros([5,5,3])

img[:,:,0] = numpy.ones([5,5])*64/255.0
img[:,:,1] = numpy.ones([5,5])*128/255.0
img[:,:,2] = numpy.ones([5,5])*192/255.0

cv2.imwrite('color_img.jpg', img)
cv2.imshow("image", img)
cv2.waitKey()

关于python - 如何使用 Opencv 2.4 将 python numpy 数组转换为 RGB 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681756/

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