分割抠图功能讲解及演示 | 学习笔记

简介: 快速学习分割抠图功能讲解及演示

开发者学堂课程【达摩院视觉AI课:分割抠图功能讲解及演示】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/335/detail/3836


  分割抠图功能讲解及演示


一、相关的基础概念

首先介绍图像相关的基础概念,其次会介绍我们视觉智能开放平台、图像分割接口的使用方法,最后介绍在我们的图像分割结果上进行二次加工的一些例子。

最常用的图像格式都是3通道的 BGR 格式,第一张图可以分为BGR 3个颜色分量。4通道图常见格式为PNG,区别于三通道图,它的背景除了人物以外的背景区域是半透明的状况,图像可视化边界可以支持不规则的一些边缘,三通道只能是矩形。

多出来的第四个通道,阿尔法通道则用来控制对应像素的透明程度,零表示全透,255表示不透。

1.png

如果阿尔法通道为全255,这张图视觉上就和3通道图没有差别。后面统称阿尔法通道为 master 。

在三通道图片的基础上融合对应的 master 图层,就可以得到抠图后的 PNG 图片,那我们平台的能力主要是预测图像主体的master 图层。

 

二、如何使用上述能力

首先进入阿里云官网:https:vision.aliyun.com/ 。并登录阿里云账号,在广场分割抠图内幕下找到自己需要的接口,这里以人体分割作为样例。

2.png

点击人体分割进入到试用界面。进入试用界面之后,可以先试用,满意后再开通服务,点击上传图片。

上传成功之后,点击发起调用。

3.png右边是算法结果,对于结果的好坏,强烈建议大家在这里点击反馈,方便后续做进一步的优化。点击代码展示,这里展示的为抠图服务返回的json结果。4.png

Imageurl 表示的就是刚才结果图的图片地址,点击帮助文档,这里有更多服务的详情介绍。

如何开通,点击免费开通,在这里选择需要开通的接口,然后点击立即购买,再点击确认付款,5.png

然后会提示跳转到控制台。在控制台模块可以看到已经开发的能力,那么分割抠图模块相关的信息,我们也是可以看到的。

6.png

目前人体分割、商品分割和通用分割已经进入了商业化流程,如果需

要更高的QBS支持,可以点击这里进行购买。

 

7.png

 

三、开通对应的API 服务

回到上一级界面,这里有示例代码以及开通需要的 SDK  ,这里需要提醒大家,我们仅支持 OSS 图片地址。

所以需要事先开通好 OSS 服务,并创建好相应的AK,具体操作方式可以在该界面进行跳转。点击python对应的SDK界面。

8.png

首先,需要安装阿里云SDK核心库。

pip install aliyun-python-sdk-core

其次,安装对应的分割接口。SDK。

pip install aliyun-python-sdk-imageseg

然后就可以开始写代码了。首先返回上一级目录。

选择 python 事例。代码进行复制,然后粘贴到对应的编辑器中。这里是已经事先编辑好的,需要修改三个部分,一个是 AK 里面的 keyId ,另外一个是 AK 里面 secret ,

client=AcsClient(accessKeyId,accessSecret, 'cn-shanghai')

还有一个是图片的地址。

图片地址演示:

这里需要图片必须存放在上海的oss bucket  里面。先打开一个 bucket ,新建完成并上传了一张图片,9.png

点击详情复制。

10.png

然后粘贴到 url  地址处。点击运行。可以看到服务器返回的结果。基于服务器返回的josn 结果,解析后到的结果,图片url。以及把该 url 对应的图片写到本地的结果。

11.png


四、基于分割结果再加工的示例代码

接下来提供一些基于分割结果再加工的示例代码,我们来看一下示例代码的结构,一个是downloadData.sh 用来下载图片素材,另外一个是python代码用来展示如何进行合图。首先我们运行sh  downloadData.sh 进行下载,图片下载完之后会出现一个date目录,下面有多素材,source.jpg 表示的是原始图片,viapi_mask.png 表示的是通过API平台调用返回的图片,

12.pngbackground.jbg表示要进行融合的背景图片,

13.png

在下载好图片之后,就可以运行脚本进行合图。

运行代码:python backGroundMergeDemo.py pic

Pic 表示的是图片合图,vid 表示的是视频合图。合图效果result.jpg 如下所示:

14.png

 

五、合图代码的基础逻辑

简单介绍一下合图代码的基础逻辑

def picture mergeBG(args):

assert (args.files is not None and len(args.files)>3),"parameters wrong, use -h for details!"

ofr_file=args.files[3]  //存储合图后的文件地址

[sc_image, viari_image, bg_image] = [cv2.imread(img_file, cv2.IMREAD _UNCHANGED)  //第一个原始图片,第二个 viari 返回的 PNG 图片,第三个参数是带融合的背景图片。

for img file in args.files[0:3]]

assert (sc image is not None and viapi image is not None and

bg image is not None), "read image files error!"

h,wc=sc image.shape

viapi image = cv2.resize(viapi image, (w, h)) bg image=cv2.resize(bg image, (w, h))  //将PNG 图片和背景图片进行resize,保证和source 图片一致。

if len(viapi image.shape)==2:

mask=viapi image[: : np.newaxis]

if viapi image.shape[2] == 4:

mask = viapi image[: : 3:4]

elif viapi image.shape[2] == 3:

mask =viapi image[: : 0:1]

else:

raise Exception("invalid image mask!")

//提取 mask 通道。对于四通道图,直接把阿尔法通道提取出来,对于有些可能是把阿尔法通道转换成了一个灰度图,那我们这块儿也做了一个转换,然后对图像再进行一个规划,到零到一。然后再按照我们之前提到的前景成阿尔法加背景乘一减阿尔法的公式进行计算。

mask=mask/255.0

sc image=sc image.astype(np.float) bg image =bg image.astype(np.float)

of image = (sc image-bg image)*mask + image

of image = np.clip(of image 0 255) cv2.imwrite(of file, of image)

//此处为核心代码,他是上一个公司的一个变种,可以减少一次float计算。然后把图片写回到输出文件地址,本次视频教程到此结束。

相关文章
|
3月前
|
人工智能 测试技术 Shell
OpenCode开源AI编程助手实操:替代Claude Code对接百炼完整教程
在AI编程Agent快速普及的当下,很多开发者习惯使用闭源编程代理工具完成项目重构、bug修复、新功能开发,但闭源工具存在诸多现实痛点。一方面工具完全绑定自家模型,无法自由切换推理后端;另一方面账号风控策略严苛,容易出现账号受限、调用中断的情况,企业内部开发还会面临代码数据外送带来的数据安全风险。OpenCode作为一款开源AI编程代理框架,被很多开发者视作Claude Code的优质替代方案,它不绑定任何大模型厂商,支持对接云端大模型服务,也可以接入本地私有化部署模型,同时完整复刻终端Agent的文件读写、命令执行、项目分析等核心能力,搭配百炼平台的各类代码大模型,就可以搭建一套完全自主可控
502 1
|
3月前
|
人工智能 运维 监控
CC Switch路由代理实操:零代码打通Codex CLI,无缝调用DeepSeek等主流大模型
对于后端开发、运维工程师而言,Codex CLI凭借脚本自动生成、代码调试排错、日志解析、自动化运维脚本编写等能力,已经成为命令行场景下高频使用的AI辅助工具。但该工具底层原生只适配OpenAI Responses API交互协议,而国内绝大多数商用、开源大模型,包括DeepSeek、Kimi、MiniMax、通义千问等,全部采用Chat Completions API标准进行对外服务。两套API协议在请求结构、参数字段定义、流式分片传输规则、错误回调逻辑、多轮会话管理机制上完全割裂互不兼容。
584 0
|
9月前
|
存储 人工智能 数据可视化
2026年无影云电脑OpenClaw(Clawdbot)部署指南:阿里云百炼API配置+实战应用解析
在AI智能体全面落地的2026年,OpenClaw(原Clawdbot)凭借开源灵活、场景适配广的核心优势,成为个人与轻量团队的首选AI助手。而阿里云无影云电脑推出的专属一键部署方案,更是彻底打破了传统部署的技术壁垒——依托云电脑预置的完整镜像环境,无需手动配置依赖、调试参数,全程可视化操作,12分钟即可完成部署,所有运行任务均依托云端算力,本地设备仅作为交互终端,真正实现“算力上云、本地减负”。本文将详细拆解阿里云无影云电脑OpenClaw的部署步骤、百炼API配置流程、功能验证方法及实战场景,包含可直接复用的代码命令,让零基础用户也能快速解锁专属AI助手。
835 0
|
10月前
|
监控 Windows
Windows笔记本打游戏卡顿掉帧?一招教你解决!
笔记本玩游戏卡顿?可能是显卡设置出了问题。本文分享如何通过NVIDIA控制面板强制使用高性能显卡,轻松将《原神》《星穹铁道》帧率稳定至60FPS,提升游戏体验。排查思路清晰,操作简单,值得一试。
2578 0
|
4月前
|
人工智能 弹性计算 运维
开源可替代 Claude Code 的阿里云 OpenCode 功能与实操介绍
2026年AI开发工具赛道高速迭代,海外Claude Code凭借强大工程理解能力收获大量开发者,但闭源订阅收费、国内网络访问受限、代码数据上传境外、仅支持单一模型等多重短板,让国内技术从业者使用成本与合规风险持续走高。在此背景下,基于MIT开源协议打造的阿里云OpenCode快速崛起,作为完全开源、全模型兼容、深度适配国内云计算生态的终端AI编程Agent,完美补齐海外工具各类痛点,成为个人开发者、企业研发团队可自主掌控的国产替代方案。OpenCode依托Go语言轻量化底层架构,提供终端TUI、IDE插件、桌面程序、API服务四种使用形态,独创Plan规划+Build构建双开发工作流,支持7
1197 0
|
4月前
|
人工智能 运维 数据可视化
CC Switch本地路由方案全解:Codex CLI无缝接入DeepSeek模型实操教程
在代码开发、自动化智能体两大主流AI应用场景中,开发者常会遇到跨模型协议不兼容的核心难题。Codex CLI作为面向代码生成、批量工程处理的命令行工具,原生仅支持OpenAI Responses协议,但DeepSeek、Kimi、MiniMax等主流第三方大模型统一采用Chat Completions交互标准,二者请求体、流式返回、响应结构完全不互通,直接调用会持续抛出400、404解析异常,无法正常完成代码推理、长任务拆解。CC Switch作为轻量化本地路由与协议转换中间件,可在本机搭建透明代理层,自动完成双向协议翻译,无需修改Codex CLI底层源码,即可兼容市面上绝大多数第三方开源、
819 0
|
5月前
|
人工智能 IDE API
阿里云OpenCode:替代Claude Code的开源AI编程Agent全解析
阿里云OpenCode是一款终端优先、模型中立、本地优先的开源AI编程Agent,核心定位是成为Claude Code的国产开源替代方案。它打破了单一模型绑定限制,支持75+款大模型无缝切换,覆盖海外闭源模型、国内云大模型、本地离线模型三大类,适配国内开发者网络与合规需求。相比传统对话式AI代码工具,OpenCode具备完整项目感知、任务自主规划、文件批量修改、终端命令执行、改动审查闭环能力,可接收自然语言开发目标,全自动完成整套编码任务,真正实现“输入需求,AI写完代码”。以下从核心优势、安装部署、模型配置、使用方式、实战技巧、常见问题六大维度,全面解析OpenCode替代Claude Co
1586 0
|
Docker 容器 应用服务中间件
Docker 客户端是如何拉取镜像的?
Docker客户端拉取镜像的过程遵循Docker Registry HTTP API V2规范,主要分为解析镜像名、鉴权、获取Manifest、拉取Layers及本地合并五个步骤。它与Docker Hub、Harbor等仓库通信,确保镜像正确下载和构建。
1991 59
|
存储 安全 JavaScript
手摸手带你进行XSS攻击与防御
当谈到网络安全和信息安全时,跨站脚本攻击(XSS)是一个不可忽视的威胁。现在大家使用邮箱进行用户认证比较多,如果黑客利用XSS攻陷了用户的邮箱,拿到了cookie那么就可以冒充你进行收发邮件,那真就太可怕了,通过邮箱验证进行其他各种网站的登录与高危操作。 那么今天,本文将带大家深入了解XSS攻击与对应的防御措施。

热门文章

最新文章