我希望将Azure中的Analyze Images API用于传递二进制图像数据的原始Python请求,而不是URL.我使用io模块从映像中获取二进制数据

with io.BytesIO() as output:
    tmp_imp.save(output, format="JPEG")
    contents = output.getvalue()

payload = {
    {'url': contents}
}

然后,我将其作为‘url’传递给有效负载

response = requests.post(analyze_url, headers=headers, params=params, data=json.dumps(payload))

我收到的错误表明存在JSON格式错误,但我不知道如何修复它

{'error': {'code': 'InvalidArgument', 'innererror': {'code': 'BadArgument', 'message': 'JSON format error.'}, 'message': 'JSON format error.'}}

URL可以很好地工作,但我想专门使用二进制图像数据,而不是求助于Azure Python包.

推荐答案

Based on the scenario, I have reproduced the issue. Image

要解决此问题,您可以直接使用pass the image data并更改代码片段中的content type.

以下是更新后的脚本:

import  requests
import  io
def  analyze_image(image_data):
    analyze_url = "https://<endpoint>.cognitiveservices.azure.com/vision/v3.2/analyze"
    headers = {
        "Content-Type": "application/octet-stream",
        'Ocp-Apim-Subscription-Key': '<your-subscription-key>',
    
    params = {
    "visualFeatures": "Categories,Description,Color",
    }
    response = requests.post(analyze_url, headers=headers,params=params, data=image_data)
    return  response.json()
    
if  __name__ == '__main__':
    image_path = "OIP.jpg"
    with  open(image_path, "rb") as  image_file:
        image_data = image_file.read()
    result = analyze_image(image_data)
    print(result)

已成功执行更新的脚本.

Output Image

Python相关问答推荐

回归回溯-2D数组中的单词搜索

pyramid 内部数组中的连续序列-两极

使用argsorted索引子集索引数组

请从Python访问kivy子部件的功能需要帮助

使文本输入中的文本与标签中的文本相同

如何防止Plotly在输出到PDF时减少行中的点数?

如何使用stride_tricks.as_strided逆转NumPy数组

如何根据情况丢弃大Pandas 的前n行,使大Pandas 的其余部分完好无损

Python plt.text中重叠,包adjust_text不起作用,如何修复?

Deliveryter Notebook -无法在for循环中更新matplotlib情节(保留之前的情节),也无法使用动画子功能对情节进行动画

numba jitClass,记录类型为字符串

运行终端命令时出现问题:pip start anonymous"

运输问题分支定界法&

无法使用DBFS File API路径附加到CSV In Datricks(OSError Errno 95操作不支持)

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

在Django admin中自动完成相关字段筛选

转换为浮点,pandas字符串列,混合千和十进制分隔符

判断solve_ivp中的事件

当单元测试失败时,是否有一个惯例会抛出许多类似的错误消息?

在numpy数组中寻找楼梯状 struct