调用百度AI实现人像分割(上)

人像分割是一种计算机视觉技术,旨在将图像中的人物与背景进行有效地分离。这项技术在许多应用中都非常有用,比如人像摄影、视频编辑、虚拟背景等。通常,人像分割可以通过以下几种方式实现:

  1. 传统方法:传统的人像分割方法通常基于图像的颜色、纹理、边缘等特征来区分人物和背景。这些方法包括阈值分割、边缘检测、区域生长等,虽然在某些场景下仍然有用,但在复杂场景下表现可能不佳。

  2. 深度学习方法:近年来,随着深度学习技术的发展,基于神经网络的人像分割方法取得了巨大进展。特别是语义分割和实例分割技术,如FCN(全卷积网络)、Mask R-CNN等,能够更准确地识别图像中的人物,并进行精确的分割。

  3. 推荐的工具和库:如果你想要在自己的项目中应用人像分割技术,可以考虑使用一些优秀的开源库和工具,如OpenCV、PyTorch、TensorFlow等,它们提供了丰富的人像分割模型和算法,可以帮助你快速实现相关功能。

总的来说,人像分割技术在计算机视觉领域具有重要意义,不仅为摄影和设计带来便利,也为虚拟现实、增强现实等领域的发展提供了重要支持。

百度AI申请应用,获取 APP_ID   API_KEY   SECRET_KEY。

开始扣图:

# -*- coding:utf-8 -*-
import cv2
import base64
import numpy as np
import os
from aip import AipBodyAnalysis
import time
import random

APP_ID = '25365416'
API_KEY = 'pS5cVzzw2iBfLY6MKRhUE4cw'
SECRET_KEY = '×××××××××××××××××××××××'

client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)
# 保存图像分割后的路径
path = './mask_img/' #保存二值
path1 = './mask_front/' #保存原图前景
# os.listdir  列出保存到图片名称
pics = os.listdir('./pictures')
print(pics)
for im in pics:
    # 按顺序构造出图片路径
    img = os.path.join("./pictures",im)
    img1 = cv2.imread(img)
    height, width, _ = img1.shape
    # print(height, width)
    # 二进制方式读取图片
    with open(img, 'rb') as fp:
        img_info = fp.read()

    # 设置只返回前景   也就是分割出来的人像
    res = client.bodySeg(img_info)
    seg_res = client.bodySeg(img_info)
    labelmap = base64.b64decode(seg_res['labelmap'])
    nparr = np.fromstring(labelmap, np.uint8)
    labelimg = cv2.imdecode(nparr,1)
    labelimg = cv2.resize(labelimg,(width,height), interpolation=cv2.INTER_NEAREST)
    new_img = np.where(labelimg==1, 255, labelimg)
    cv2.imwrite(os.path.join(path,im), new_img)
    #返回前景
    result = cv2.bitwise_and(img1, new_img)

    cv2.imwrite(os.path.join(path1,im), result)
    print('======== 图像分割完成 ========')

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学术菜鸟小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值