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

编程入门 行业动态 更新时间:2024-10-27 06:33:18
本文介绍了Python OpenCV 从字节字符串加载图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试像 PHP 函数一样从字符串加载图像 imagecreatefromstring

I'm trying to load image from string like as PHP function imagecreatefromstring

我该怎么做?

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

I have MySQL blob field image. I'm using MySQLdb and don't want create temporary file for working with images in PyOpenCV.

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

NOTE: need cv (not cv2) wrapper function

推荐答案

这是我通常用来将存储在数据库中的图像转换为 Python 中的 OpenCV 图像的方法.

This is what I normally use to convert images stored in database to OpenCV images in Python.

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 的转换,所以上面的脚本会打印:

I have added the conversion from numpy.ndarray to cv2.cv.iplimage, so the script above will print:

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

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

As of latest numpy 1.18.5 +, the np.fromstring raise a warning, hence np.frombuffer shall be used in that place.

更多推荐

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

本文发布于:2023-05-26 09:49:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/252273.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   字节   图像   加载   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!