我试图从一个字符串像PHP函数加载图像imagecreatefromstring
我该怎么做呢?
我有MySQL blob字段图像。我使用MySQLdb并且不想在PyOpenCV中创建一个临时文件来处理图像。
注意:需要cv(不是cv2)包装函数
你可以很容易地使用它将存储在数据库中的图像转换为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.ndarray来cv2.cv.iplimage,因此上面的脚本将输出:
<类型的str >
<类型“numpy.ndarray”>
<类型“cv2.cv.iplimage”>