当输入来自 CGI 时如何在 OpenCV 中读取解析图像
How to read parse image in OpenCV when the input is from CGI
我有一个简单的 HTML 表单将数据发布到我的 Python 脚本。我正在使用的代码如下,但它不起作用:
form = cgi.FieldStorage()
filedata = form['upload']
image = cv2.imdecode(filedata,0)
它给我以下错误:
image 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 is not a numpy array, neither a
scalar
args = ('buf is not a numpy array, neither a scalar',)
message = 'buf is not a numpy array, neither a scalar'
如果不先将其写入磁盘然后再次读取,我将如何处理我上传的图像?
已解决:
我必须先将数据转换为 numpy 数组。
image = cv2.imdecode(numpy.frombuffer(filedata,dtype=numpy.uint8),0)
我有一个简单的 HTML 表单将数据发布到我的 Python 脚本。我正在使用的代码如下,但它不起作用:
form = cgi.FieldStorage()
filedata = form['upload']
image = cv2.imdecode(filedata,0)
它给我以下错误:
image 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 is not a numpy array, neither a scalar args = ('buf is not a numpy array, neither a scalar',) message = 'buf is not a numpy array, neither a scalar'
如果不先将其写入磁盘然后再次读取,我将如何处理我上传的图像?
已解决:
我必须先将数据转换为 numpy 数组。
image = cv2.imdecode(numpy.frombuffer(filedata,dtype=numpy.uint8),0)