调用腾讯API实现人像分割

news2025/2/1 6:47:17

目录

  • 1. 作者介绍
  • 2.腾讯云API人像分割
    • 2.1 人像分割接口描述
    • 2.2 请求参数介绍
  • 3.代码实现
    • 3.1 获取SecretId和SecretKey
    • 3.2 人像分割代码调试
    • 3.3 完整代码
    • 3.4 实验结果

1. 作者介绍

岳泽昂,男,西安工程大学电子信息学院,2022级研究生
研究方向:机器视觉与人工智能
电子邮件:1975085289@qq.com

陈梦丹,女,西安工程大学电子信息学院,2022级硕士研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:1169738496@qq.com

2.腾讯云API人像分割

2.1 人像分割接口描述

  • 人像分割:即二分类人像分割,识别传入图片中人体的完整轮廓,进行抠像。
  • 自定义人像分割:在前后景分割的基础上优化多分类分割,支持对头发、五官等的分割,既作为换发型、挂件等底层技术,也可用于抠人头、抠人脸等玩法。

接口请求域名: bda.tencentcloudapi.com。

2.2 请求参数介绍

二分类人像分割输入参数:
在这里插入图片描述
自定义人像分割输入参数:
在这里插入图片描述
二分类人像分割输出参数:
在这里插入图片描述
自定义人像分割输出参数:
在这里插入图片描述

3.代码实现

3.1 获取SecretId和SecretKey

注册并登录 腾讯云账号,点击控制台,搜索访问密钥,找到之前用过的SecretIdSecretKey

在这里插入图片描述
在这里插入图片描述

3.2 人像分割代码调试

搜索人像分割,点击进入。
在这里插入图片描述
点击立即开通后,就会有1000次的免费资源。
在这里插入图片描述
点击资源包管理就可以看到免费资源的使用情况。
在这里插入图片描述
回到主页,点击文档,搜索框搜索人像分割,之后点击人体分析
在这里插入图片描述
点击API文档及相应的链接,再点击调试。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 完整代码

import json
import base64
import matplotlib.pyplot as plt

from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.bda.v20200324 import bda_client, models

try:
    cred = credential.Credential("***********mKekMks31pOhlANL3Ug", "vhFXbQ2QXQ4SZU9Zjd******YzEG3b")
    # 实例化一个http选项,可选的,没有特殊需求可以跳过
    httpProfile = HttpProfile()
    httpProfile.endpoint = "bda.tencentcloudapi.com"

    # 实例化一个client选项,可选的,没有特殊需求可以跳过
    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    # 实例化要请求产品的client对象,clientProfile是可选的
    client = bda_client.BdaClient(cred, "ap-beijing", clientProfile)

    # 实例化一个请求对象,每个接口都会对应一个request对象
    img_path="人像分割前的图像加载路径"
    with open(img_path,"rb") as file:
        img=base64.b64encode(file.read())
      
    req = models.SegmentPortraitPicRequest()                   #二分割
    # req = models.SegmentCustomizedPortraitPicRequest()     #自定义分割
    params = {
        "Image": str(img, encoding='utf-8'),
        "SegmentationOptions": {
            # "Background": True,
            # "Hair": True,
            # "LeftEyebrow": True,
            # "RightEyebrow": True,
            # "LeftEye": True,
            # "RightEye": True,
            # "Nose": True,
            # "UpperLip": True,
            # "LowerLip": True,
            # "Tooth": True,
            # "Mouth": True,
            # "LeftEar": True,
            # "RightEar": True,
            "Face": True,
            "Head": True,
            # "Body": True,
            # "Hat": True,
            # "Headdress": True,
            # "Earrings": True,
            # "Necklace": True,
            # "Belongings": True
        }
    }
    req.from_json_string(json.dumps(params))

    # 返回的resp是一个SegmentPortraitPicResponse的实例,与请求对象对应
    resp = client.SegmentPortraitPic(req)                         #二分割
    # resp = client.SegmentCustomizedPortraitPic(req)         #自定义分割
    # 输出json格式的字符串回包
    json_data = resp.to_json_string()
    resp = json.loads(json_data)
    result = str(resp).replace(", ","\n")
    print(result)
    with open("人像分割后的图像保存路径","wb") as file:
      file.write(base64.b64decode(resp["ResultImage"]))         #二分割  
    # with open("自己的图像保存路径","wb") as file:
    #   file.write(base64.b64decode(resp["PortraitImage"]))     #自定义分割    
except TencentCloudSDKException as err:
    print(err)

3.4 实验结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/631439.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL主从同步——主库已有的数据如何到从库

一、复制主库数据到从库 此步骤主要针对运行一段时间的主库,需要将历史数据导入到从库,保证主从强一致性。 主库锁表停止写操作 在主库MySQL命令行中执行 flush tables with read lock; 主库数据导出 将主库所在主机命令行下使用mysqldump命令导出…

交通状态分析 | Python实现基于张量分解的交通流量时空模式挖掘

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 交通状态分析 | Python实现基于张量分解的交通流量时空模式挖掘 研究内容 一般出行行程通常都由某种明确目的驱使,例如上班、购物或娱乐,出行的起始区域因其承担功能的不同,通常能够反映出用户的出行目…

【一、Linux文件与目录结构】

1 Linux 文件 Linux系统中一切皆文件 2 Linux目录结构 /bin Binary的缩写,存放着命令。 /sbin s即Super User,存放着root用户使用的系统管理程序。 /home 存放着普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般…

近期学习论文总结 3(23.06.05-23.06.09)

公众号:EDPJ 目录 0. 摘要 1. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization 1.1 主要思想 1.2 AdaIN 1.3 结构以及不同层使用 AdaIN 的效果 2. Watch your Up-Convolution: CNN Based Generative Deep Neural Networks are…

day46_项目

debug bug - 虫 第一台计算机,房子那么大,机械零件,齿轮,坏了,虫子(bug)卡着机器,debug(调试),虫子拿走了,机器就运行了,从此调试机器程序–>debug 目前: 这个卡机器的虫子,在博物馆 工具(IDEAEclipse)支持debug --> 追踪代码 如何使用debug 运行时候就得使用debug模式…

00后从事软件测试一年的心路历程

初识软件测试 不知不觉,我做软件测试已经快一年了,入职第一天的场景仿佛还在昨天。入职前,我对测试的认识仅仅停留在一些软件测试和测试方法的理论知识上,最多也是对自己的代码进行一些单元测试。 我之前所理解的测试是与开发分…

Django-可重用注册登录系统--项目搭建

文章目录 一、项目开始前的思考二、搭建项目环境三、设计数据库模型数据库模型文件设置数据库后端注册app生成迁移脚本并写入数据库测试是否成功数据库模型后台管理 路由与视图函数框架搭建路由配置视图函数的配置模板template的配置测试是否成功 前端界面设计与优化完善登录的…

【C/C++】函数参数默认值

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

【python+requests】接口自动化测试

这两天一直在找直接用python做接口自动化的方法&#xff0c;在网上也搜了一些博客参考&#xff0c;今天自己动手试了一下。 一、整体结构 上图是项目的目录结构&#xff0c;下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类&#xff0c;比如数据库sql…

VPN(Virtual privacte network)浅谈

文章目录 VPN概念VPN类型站点-站点VPN客户端-站点VPN VPN的工作原理VPN职责职责一&#xff1a;保密完整性认证PSK算法实现&#xff08;献给大佬&#xff09;PSK应用演示RSA算法实现&#xff08;献给大佬&#xff09;RSA应用演示&#xff1a;实现签名 VPN两大框架VPN的误解VPN合…

Java调用Pytorch实现以图搜图(附源码)

Java调用Pytorch实现以图搜图 设计技术栈&#xff1a; 1、ElasticSearch环境&#xff1b; 2、Python运行环境&#xff08;如果事先没有pytorch模型时&#xff0c;可以用python脚本创建模型&#xff09;&#xff1b; 1、运行效果 2、创建模型&#xff08;有则可以跳过&#xf…

经典目标检测YOLO系列(1)YOLO-V1算法及其在VOC2007数据集上的应用

经典目标检测YOLO系列(1)YOLO-V1算法及其在VOC2007数据集上的应用 1 YOLO-V1的简述 1.1 目标检测概述 ​ 目标检测有非常广泛的应用&#xff0c; 例如&#xff1a;在安防监控、手机支付中的人脸检测&#xff1b;在智慧交通&#xff0c;自动驾驶中的车辆检测&#xff1b;在智…

TCP与UDP的可靠性传输

目录 一、TCP可靠性传输1、重传机制1.1、超时重传1.2、快速重传1.3、SACK1.4、Duplicate SACK 2、滑动窗口3、流量控制3.1 滑动窗口与流量控制3.2窗口关闭 4、拥塞控制4.1拥塞窗口4.2 慢启动4.3 拥塞避免4.4 拥塞发生4.5 快速恢复 二、UDP可靠性传输1、主要策略2、重传机制2.1 …

软件测试03:软件工程和软件生命周期

软件测试03&#xff1a;软件工程和软件生命周期 软件危机 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求&#xff0c;从而导致软件开发与维护过程中出现一系列严重问题的现象。 软件工程 基本软件危机对于计算机发展的阻碍&#xff0c;1968年&#xff0…

史上最详细的安装Kali-linux教程(附视频教程)

之前不少人问kali怎么安装&#xff0c;今天就发一篇利用VM虚拟机安装kali的详细教程&#xff0c;每一步都截图了&#xff0c;让大家尽可能的清楚每一步的操作。 1.2 使用 VM 虚拟机安装 Kali 1.2.1 官方下载 Kali Linux 官方网址&#xff1a;http://www.Kali.org 下载方式分…

跨域 —— 反向代理配置

跨域问题在讲Node.js学习中编写接口的时候就已经讲到了&#xff0c;由后端配置解决跨域问题&#xff0c;使用cors中间件解决跨域问题以及使用JSONP解决跨域&#xff08;仅支持GET请求&#xff09;&#xff0c;具体可以看一下这篇文章的内容&#xff1a;十二、Express接口编写 —…

python面向对象操作3(速通版)

目录 一、多态和类名 1.标准多态 2.实例属性和实例方法 3.类对象和类属性 4.对象保存 二、方法 1.类方法 3.四种方法的区别 三、模块 1.导入模块 2.自动模块导入 3.模块导入的几种形式 3.1模块导入的两种方式和别名 3.2 from 模块 import 成员 4.两种方法的区别…

【运筹优化】最短路算法之A星算法 + Java代码实现

文章目录 一、A星算法简介二、A星算法思想三、A星算法 java代码四、测试 一、A星算法简介 A*算法是一种静态路网中求解最短路径最有效的直接搜索方法&#xff0c;也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近&#xff0c;最终搜索速度越快。 二、A星算…

day52_Spring

今日内容 零、 复习昨日 一、Spring 零、 复习昨日 一、引言 以前 public class HelleServlet extends HttpServlet{UserService service new UsrServiceImpl();void doGet(){service.findUser();} }public interface UserService{User findUser(); } public class UserServ…

Tigase-Server 8.3.0在windows11下安装

一、JDK安装&#xff1a; tigase-server要求JDK 17,请先下载JDK17, 下载地址&#xff1a;https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe 配置环境变量&#xff1a;JAVA_HOME{JDK安装目录} 二、数据库安装&#xff1a;tigase-server8.3在windows下…