我试图从一个像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。cv2. image_color (nparr, cv2. cv_load_image_color)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”>