Python 当输入来自CGI时,如何在OpenCV中读取解析图像
我有一个简单的HTML表单将数据发布到我的Python脚本中。我正在使用的代码如下,但它不起作用:Python 当输入来自CGI时,如何在OpenCV中读取解析图像,python,opencv,numpy,post,cgi,Python,Opencv,Numpy,Post,Cgi,我有一个简单的HTML表单将数据发布到我的Python脚本中。我正在使用的代码如下,但它不起作用: form = cgi.FieldStorage() filedata = form['upload'] image = cv2.imdecode(filedata,0) 它给了我以下错误: 图像未定义,cv2=, cv2.imdecode=,文件数据= FieldStorage('upload','ch.png',', '\x89PNG\r\n\x1…z\x81\xec\x15\xe0\x00
form = cgi.FieldStorage()
filedata = form['upload']
image = cv2.imdecode(filedata,0)
它给了我以下错误:
图像未定义,cv2=,
cv2.imdecode=,文件数据=
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数组,也不是标量'
我如何处理上传的图像而不先将其写入磁盘,然后再读取它?解决:
我必须首先将数据转换为numpy数组
image = cv2.imdecode(numpy.frombuffer(filedata,dtype=numpy.uint8),0)
错误消息有点击中它——您需要将numpy数组而不是FieldStorage实例传递给
imdecode
。