为什么相同的数据类型变量给出不同的响应?

时间:2018-07-01 23:49:48

标签: python arrays numpy cv2 azure-cognitive-services

我正在使用 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()重新读取图像时,它可以工作,但这不是最佳解决方案。

0 个答案:

没有答案