Python OpenCV加载…
通知
清除所有

Python OpenCV从字节串加载图像

RSS

(@sathish)
成员 主持人
加入:1年前
帖子:1391
20/05/2021中午12点

我试图从一个字符串像PHP函数加载图像imagecreatefromstring

我该怎么做呢?

我有MySQL blob字段图像。我使用MySQLdb并且不想在PyOpenCV中创建一个临时文件来处理图像。

注意:需要cv(不是cv2)包装函数


报价
(@ganesh)
贵族成员
加入:1年前
帖子:1362
20/05/2021 51点

你可以很容易地使用它将存储在数据库中的图像转换为Python中的OpenCV图像:

将numpy作为np导入

进口cv2

从cv2导入CV

#从文件/数据库中以字符串的形式加载图像

fd =开放(“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。OpenCV 3.1中的IMREAD_COLOR

#简历

img_ipl = cv.CreateImageHeader ((img_np。形状[1],img_np.shape[0]),简历。IPL_DEPTH_8U, 3)

简历。img_np.dtype SetData (img_ipl img_np.tostring()。Itemsize * 3 * img_np.shape[1])

#检查类型

打印类型(img_str)

打印类型(img_np)

打印类型(img_ipl)

在此之后,添加从的转换numpy.ndarraycv2.cv.iplimage,因此上面的脚本将输出:

<类型的str >

<类型“numpy.ndarray”>

<类型“cv2.cv.iplimage”>


回复报价
分享:
Baidu