当输入来自CGI时,如何在OpenCV中读取解析图像

时间:2017-02-27 23:01:11

标签: python opencv numpy post cgi

我有一个简单的HTML表单将数据发布到我的Python脚本。我正在使用的代码如下,它不起作用:

form = cgi.FieldStorage()
filedata = form['upload']

image = cv2.imdecode(filedata,0)

它给了我以下错误:

  

图片undefined,cv2 =,   cv2.imdecode =,filedata =   FieldStorage('upload','ch.png',   '\ x89PNG \ r \ n \ X1 ... Z \ X81 \ XEC \ X15 \ xe0 \ X00 \ X00 \ X00 \ x00IEND \ xaeB` \ X82')

     

:buf不是一个numpy数组,也不是   纯量         args =('buf不是一个numpy数组,也不是标量',)         message ='buf不是一个numpy数组,也不是标量'

如果不首先将上传的图像写入磁盘,然后再将其读取,我将如何处理上传的图像?

1 个答案:

答案 0 :(得分:1)

解决了:

我必须先将数据转换为numpy数组。

image = cv2.imdecode(numpy.frombuffer(filedata,dtype=numpy.uint8),0)