您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python OpenCV从字节字符串加载图像

Python OpenCV从字节字符串加载图像

这就是我通常用来将数据库中存储的图像转换为Python中的OpenCV图像的方式。@H_419_1@

import numpy as np
import cv2
from cv2 import cv

# Load image as string from file/database
fd = open('foo.jpg')
img_str = fd.read()
fd.close()

# CV2
nparr = np.fromstring(img_str, np.uint8)
img_np = cv2.imdecode(nparr, cv2.CV_LOAD_IMAGE_COLOR) # cv2.IMREAD_COLOR in OpenCV 3.1

# CV
img_ipl = cv.CreateImageHeader((img_np.shape[1], img_np.shape[0]), cv.IPL_DEPTH_8U, 3)
cv.SetData(img_ipl, img_np.tostring(), img_np.dtype.itemsize * 3 * img_np.shape[1])

# check types
print type(img_str)
print type(img_np)
print type(img_ipl)

我已添加了从numpy.ndarray到的转换cv2.cv.iplimage,因此上面的脚本将显示:@H_419_1@

<type 'str'>
<type 'numpy.ndarray'>
<type 'cv2.cv.iplimage'>

从最新的numpy开始1.18.5 +np.fromstring发出警告,因此np.frombuffer应在该位置使用。@H_419_1@

python 2022/1/1 18:33:53 有208人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶