我正在使用 azure-cognitive-services 发送一些图像并获得一些响应,但字节数据类型存在问题。
我发送了一个由open(image_path, "rb").read()
加载的图像,该图像的类型为<class 'bytes'>
,并通过requests.post(emotion_recognition_url, params=params, headers=header, data=byted_image)
发送了一个请求,其中数据的定义为::param data: (optional) Dictionary (will be form-encoded), bytes, or file-like object to send in the body of the :class:'Request'.
,一切都很好,并且运行良好
当我尝试发送从cv2.VideoCapture(0)
捕获并返回numpy.ndarray
的图像时,它会被np.ndarray.tobytes(image)
转换为字节,以使其dtype为<class 'bytes'>
并发送requests.post()
到端点,它返回的错误为“ {{error”:{'code':'InvalidImage','message':'解码错误,不支持图像格式。'}}“ < / strong>。
注意:
我还尝试通过'C','F'甚至{None}发送np.ndarray.tobytes()
的order属性,并且没有任何效果。
当我使用cv2.imwrite()
保存框架并使用open(image_path, "rb").read()
重新读取图像时,它可以工作,但这不是最佳解决方案。