csdn_black 2018-04-23 05:58 采纳率: 50%
浏览 12525
已采纳

opencv 怎么读取打开的图片

我是用的python,cv2.imread()函数给它指定路径可以读取图片。
我现在想做的是:前端给我传一个post请求,此图片转化成base64的形式,我想通过cv2
打开,imread好像不行。求大神指教怎么办?

比如这样就会报错:

 a=open('C:\\Users\\51530\\Desktop\\openFace\\137.png', 'rb')
base64_data = base64.b64encode(a.read())

im2=base64.b64decode(base64_data)
cv2img=cv2.imread(im2)

错误:TypeError: bad argument type for built-in operation

在就是python 的from PIL import Image 可以打开上面代码的a,但是读取格式和cv2不一样。

总之我是想拿到base64加密的图片,想转成RGB形式的ndarry图片,cv2直接传图片的base64解码不行,求指教啊,万分感谢

  • 写回答

2条回答 默认 最新

  • LongLongWei_CsDn 2018-04-23 08:04
    关注

    #python3下运行

    import cv2
    import base64
    import numpy as np

    img=open('F:\cat.jpg', 'rb')
    img_b = base64.b64encode(img.read())
    print(img_b)
    imD=base64.b64decode(img_b)
    nparr=np.fromstring(imD,np.uint8)
    #cv2.IMREAD_COLOR 以彩色模式读入 1
    #cv2.IMREAD_GRAYSCALE 以灰色模式读入 0
    image=cv2.imdecode(nparr,cv2.IMREAD_COLOR)
    cv2.imshow('Image',image)
    cv2.waitKey()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用三极管设计一个单管共射放大电路
  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架