调用百度ai实现人像分割(下)(代码片段)

学术菜鸟小晨 学术菜鸟小晨     2023-03-02     661

关键词:

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 

前言 - 床长人工智能教程

一、原始视频截图

import cv2
cap=cv2.VideoCapture(r"【小仙若】shake it !冬日也要活力满满! (P1. shake it).mp4")
ret,frame=cap.read()
i =0
timeF=3
j=0
num=0
while 1:
  i=i+1
  if (i%timeF==0):
    j=j+1
    cv2.imwrite("./pictures/"+str(num)+".jpg",frame)
    num+=1
    print("save image:",i)
  ret,frame=cap.read()

  

 二、提取人像

# -*- 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/'
# 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['foreground'])
    file = open('./he/'+im.split(".")[0]+'.png','wb')
    file.write(labelmap)
    file.close()

    print('======== 图像分割完成 ========')

 

 

三、和背景图合并

import cv2
import os
from PIL import Image
import numpy as np


background='1.jpg'
def blend_images(fore_image, base_image):
    """
    将抠出的人物图像换背景
    fore_image: 前景图片,抠出的人物图片
    base_image: 背景图片
    """
    # 读入图片
    base_image = Image.open(base_image).convert('RGB')
    fore_image = Image.open(fore_image).resize(base_image.size)

    # 图片加权合成
    scope_map = np.array(fore_image)[:,:,-1] / 255
    scope_map = scope_map[:,:,np.newaxis]
    scope_map = np.repeat(scope_map, repeats=3, axis=2)
    res_image = np.multiply(scope_map, np.array(fore_image)[:,:,:3]) + np.multiply((1-scope_map), np.array(base_image))
    
    #保存图片
    res_image = Image.fromarray(np.uint8(res_image))
    res_image.save(os.path.join('./he/',im))
    #cv2.imwrite(os.path.join(path1,im), result)
# os.listdir  列出保存到图片名称

pics = os.listdir('./he1/')
print(pics)
for im in pics:
    img='./he1/'+im
    blend_images(img, background)

 

四、合成视频

我的背景图尺寸是3840×2160

# 图片合成视频
import cv2
import os
pics = os.listdir('./he/')
fourcc = cv2.VideoWriter_fourcc('X','V','I','D')
# 保存格式,参数分别为filename,编码器,帧率,尺寸
out=cv2.VideoWriter("2.avi",fourcc,10,(3840,2160))
print(pics)
for im in pics:
    # 按顺序构造出图片路径
    img = os.path.join("./he/",im)
    img1 = cv2.imread(img)
# 指定编码器
    print(img1)

# 写入视频
    out.write(img1)
    cv2.imshow("detections", img1)
# 注意:尺寸一定要和图像保持一致,否则看不了视频
# 如果想改变保存视频尺寸,应该先把读入的图像的尺寸改变
out.release()
cv2.destoryAllWindows()

调用百度api实现人像动漫化(c++)(代码片段)

作者:Steven版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处准备工作    1)登录网站:人像动漫化-百度AI开放平台 。登录百度AI平台。图1 登录百度AI平台    2&#x... 查看详情

百度人像分割api(代码片段)

...程在这里。建议看视频,视频里的很详细。视频教程百度Ai平台链接这是最后的代码代码和教程的代码一样importrequestsimportbase64importcv2importnumpyasnpimportbase64fromPILimportImage'''人像分割'''file_path='F:/ 查看详情

调用百度api实现人像动漫化(c++)(代码片段)

...领取免费次数    3)复制AppID、APIKey、SecretKey,调用接口的密钥。图4 获取密钥    4)下载SDK,我用的C++,所以我只介绍C++的相关使用。图5SDK下载图6 选择C++SDK    5)VS创建项目... 查看详情

javacv视频处理技术->提取人像视频|百度ai(代码片段)

...视频。之前写的文章 JAVA代码实现人物照片的人像分割|百度AI 是处理图片的,视频处理也是在图片处理基础上实现的。pom文件引入依赖 <!--https://mvnrepository.com/artifact/com.baidu.aip/java-sdk--> <dependency> <groupId>com.bai... 查看详情

ai十行代码系列5.人像分割-mediapipepython(代码片段)

 【TLAIP系列简介】Ten-Lines-AI-Projects         现阶段有非常多优秀的开源的AI工程,为了有更好的可扩展性,接口往往设计得十分复杂,这需要投入一定的时间和精力来处理,对于不熟悉或者刚入门的小伙伴... 查看详情

python调用百度ai实现文字识别(代码片段)

...今天我们也来高大上一下,玩一把人工智能。那就是免费调用百度AI实现图片上面的文字识别。相对于Python的第三方库,百度人工智能要更强大,毕竟人工智能不是那么容易搞的。要调用,其实很简单,关键的代码只需要三行。... 查看详情

python调用百度ai对颜值评分(代码片段)

...的朋友,可以看本文的后续实现代码。    二、调用百度接口进行人脸属性识别  安装好baidu-aip模块,获取了百度AI接口密钥后,即可调用百度接口进行人脸属性识别了。首先以杨紫的图片为例进行年龄、性别... 查看详情

调用百度ai接口实现图片文字识别技术demo(代码片段)

一、第一步,到https://console.bce.baidu.com/二、创建应用三、pom.xml里面加入依赖org.jsonjson20160810<!--https://mvnrepository.com/artifact/log4j/log4j--><dependency><groupId>log4j</groupId>&l 查看详情

python案例用某度ai接口实现抠图并改图片底色(代码片段)

文章目录前言正文一、注册百度AI账号,创建人像分割应用二、代码实现1.引入库2.获取AccessToken核心代码4.图片底色填充5.图片压缩6.获取图图片大小7.png格式转jpg8.主函数9.完整代码[重要]使用前注意事项最终效果图总结前言嗨... 查看详情

python实现人脸识别(代码片段)

...块?百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别除了人脸识别,其他api功能的调用也同理。准备工作本机环境系统࿱ 查看详情

ai目标分割能力,无需绿幕即可实现快速视频抠图(代码片段)

...,常用于视频中抠除并替换背景,通过后期加工实现视频剪辑制作的更多可能性。然而,绿幕抠图技术制作成本费时费力,无法应用于日常生活。华为视频编辑服务近期上线目标分割能力,可通过AI智能抠图精... 查看详情

python深度学习ai-利用训练好的模型库进行图像分割一键抠图实例演示,百度深度学习平台飞浆paddlepaddle-gpu的安装与使用(代码片段)

...其次,普通版本的安装④paddlehub的安装第二章:调用训练好的库进行图像分割效果演示①演示一:ace2p模型②演示二:humanseg_server模型③演示三:deepl 查看详情

python深度学习ai-利用训练好的模型库进行图像分割一键抠图实例演示,百度深度学习平台飞浆paddlepaddle-gpu的安装与使用(代码片段)

...其次,普通版本的安装④paddlehub的安装第二章:调用训练好的库进行图像分割效果演示①演示一:ace2p模型②演示二:humanseg_server模型③演示三:deepl 查看详情

unet网络实现叶子病虫害图像分割(代码片段)

作者|李秋键出品|AI科技大本营(ID:rgznai100)智能化农业作为人工智能应用的重要领域,对较高的图像处理能力要求较高,其中图像分割作为图像处理方法在其中起着重要作用。图像分割是图像分析的关键步骤,在复杂的... 查看详情

证件照制作如此简单——基于人脸检测与自动人像分割轻松制作个人证件照(c++实现)(代码片段)

...f0c;比如蓝色或红色。2.我这里也按着上面的步骤来用代码实现,先是人脸检测,剪切照片,替换背景色,美化和修脸暂时还没有时间写完。3.因为是考虑到要移植到移动端(安卓和iOS),这里使用了ncnn... 查看详情

ai自助帮你换背景,超强实时人像扣图算法开源啦!

...帮助用户实时、精准地将人物和背景精准识别出来,实现更精细化的人物美颜、背景虚化替换、弹幕穿人等,进一步提升视觉应用体验。高精度的实时人像抠图模型一直是学术和产业界研究的重点,为此PaddleSeg团队开... 查看详情

森说ai:ai创造营大作业--应用paddlex完成对自定义车道路的语义分割(代码片段)

...作业–应用paddlex完成对自定义车道路的语义分割一直想实现对车道的语义分割,接着这个机会去使用paddlex来从零开始实现,并且加深一下自己的理解!其实本来我是想用paddleseg做的,但是我看了模型训练的那个... 查看详情

森说ai:ai创造营大作业--应用paddlex完成对自定义车道路的语义分割(代码片段)

...作业–应用paddlex完成对自定义车道路的语义分割一直想实现对车道的语义分割,接着这个机会去使用paddlex来从零开始实现,并且加深一下自己的理解!其实本来我是想用paddleseg做的,但是我看了模型训练的那个... 查看详情