我使用抠像的API想批量抠本地文件夹内的图片,但一直失败,批量处理本地文件夹内的图片,批量抠像,谁有

我使用抠像的API想批量抠本地文件夹内的图片,但一直失败,批量处理本地文件夹内的图片,批量抠像,谁有现成的代码吗?

展开
收起
真的很搞笑 2023-04-25 23:51:34 495 分享 版权
3 条回答
写回答
取消 提交回答
  • 以下是使用阿里云视觉智能平台的抠像 API 批量处理本地文件夹内的图片的 Python 代码示例:

    import os
    import requests
    import base64
    
    # 阿里云抠像API接口地址
    url = 'https://dtplus-cn-shanghai.data.aliyuncs.com/image/segment/batch'
    
    # 阿里云抠像API接口所需的API KEY和API SECRET
    api_key = '您的API KEY'
    api_secret = '您的API SECRET'
    
    # 需要处理的本地文件夹路径
    source_folder = '本地文件夹路径'
    
    # 处理结果保存的本地文件夹路径
    result_folder = '本地文件夹路径'
    
    # 批量处理本地文件夹内的图片
    for file_name in os.listdir(source_folder):
        # 读取图片文件
        file_path = os.path.join(source_folder, file_name)
        with open(file_path, 'rb') as f:
            image_data = f.read()
    
        # 对图片进行 base64 编码
        image_base64 = base64.b64encode(image_data).decode('utf-8')
    
        # 构造请求参数
        data = {
            'image': image_base64,
            'type': 'foreground',
            'refine': '1',
            'api_key': api_key,
            'api_secret': api_secret
        }
    
        # 发送请求
        response = requests.post(url, data=data)
    
        # 解析返回结果
        result = response.json()
    
        # 保存处理结果
        result_file_path = os.path.join(result_folder, file_name)
        with open(result_file_path, 'wb') as f:
            f.write(base64.b64decode(result['data']['image']))
    

    该代码示例中使用的是 Python requests 库发送 HTTP 请求,并使用 base64 编码和解码图片数据。在使用该代码示例时,需要将其中的 API KEY、API SECRET、本地文件夹路径等参数替换为自己的实际值,以确保代码能够正确执行。

    2023-04-29 11:17:55
    赞同 展开评论
  • 全栈JAVA领域创作者

    以下是一个Python脚本示例,它可以扫描指定的本地文件夹内的所有图片,并使用阿里云的抠图API对它们进行批量抠像:

    python import os import requests import base64

    设置API请求参数

    url = "https://dtplus-cn-shanghai.data.aliyuncs.com/image/removebg" appcode = "你的AppCode"

    遍历指定文件夹内的所有图片文件

    image_folder = "/path/to/your/image/folder" for image_file in os.listdir(image_folder): if image_file.endswith(".jpg") or image_file.endswith(".jpeg") or image_file.endswith(".png"): # 读取图片文件并编码为Base64格式 with open(os.path.join(image_folder, image_file), "rb") as f: image_base64 = base64.b64encode(f.read()).decode('utf-8')

        # 发送API请求并保存结果到本地文件
        headers = {
            "Authorization": "APPCODE " + appcode,
            "Content-Type": "application/json; charset=UTF-8"
        }
        data = {
            "image": image_base64
        }
        response = requests.post(url, json=data, headers=headers)
        with open(os.path.join(image_folder, image_file.replace(".", "_removebg.")), "wb") as f:
            f.write(base64.b64decode(response.json()["data"]["image"]))
    

    在代码中,请将url和appcode替换为您自己的API地址和AppCode。此外,还需要将image_folder替换为您要处理的文件夹的实际路径。

    请注意,使用API时需要支付相应的费用,请确保您的阿里云账户已经充值并且具有足够的余额,以避免因余额不足而导致API请求失败。

    2023-04-26 14:38:48
    赞同 展开评论
  • 是需要调用本地的图片处理代码。目前新版SDK已经支持文件在本地或者非上海地域OSS文件,与文件在同地域的区别在于,需要使用xxxAdvanceRequest将文件以stream形式通过ImageURLObject参数传入进行后续调用 https://help.aliyun.com/document_detail/155645.html

    2023-04-26 09:40:15
    赞同 展开评论

为开发者提供高易用、普惠的视觉API服务,帮助企业快速建立视觉智能技术应用能力的综合性视觉AI能力平台。适用于数字营销、互联网娱乐、安防、手机应用、泛金融身份认证等行业。

收录在圈子:
阿里云视觉智能开放平台视觉AI能力问题咨询,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群

热门讨论

热门文章

还有其他疑问?
咨询AI助理