调用百度AI实现人像分割(下)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
前言 - 床长人工智能教程
一、原始视频截图
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+1if (i%timeF==0):j=j+1cv2.imwrite("./pictures/"+str(num)+".jpg",frame)num+=1print("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 randomAPP_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 npbackground='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] / 255scope_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/'+imblend_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()
调用百度AI实现人像分割(下)相关推荐
- 调用百度AI实现人像分割(上)
百度AI申请应用,获取 APP_ID API_KEY SECRET_KEY. 开始扣图: # -*- coding:utf-8 -*- import cv2 import base64 imp ...
- 项目实战-图像识别项目-通过QT制作图形界面并调用百度AI进行图像识别(一)
转自迅为4412开发板项目实战教程 B站视频地址:https://www.bilibili.com/video/BV157411c7sc?p=7 硬件平台:iTOP-4412开发板 项目名称:图像识别 ...
- python调用百度AI接口识别营业执照
上一篇文章介绍了应用python中的pytesseract库和OCR识别软件进行文字识别.本文介绍应用百度AI的文字识别功能对营业执照进行识别,感兴趣的朋友一起来看看效果吧. 一.安装baidu ...
- python调用百度AI识别文字和表格
python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...
- Python——调用百度AI实现图片上文字识别
Python--调用百度AI实现图片上文字识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 简介 Python免费调用百度 ...
- Python3 图片文字识别翻译——调用百度AI、百度翻译和有道翻译的API
文章目录 Python3 图片文字识别翻译--调用百度AI.百度翻译和有道翻译的API 一.演示 二. API准备 三. 图片文字识别--调用百度AI文字识别API 四. 文字翻译 1. 百度翻译 请 ...
- 调用百度ai接口实现图片文字识别详解
调用百度ai接口实现图片文字识别详解 首先先介绍一下这篇博文是干嘛的,为了不浪费大家时间.公司最近和短视频公司合作,需要监控app的截图上的文字是否符合规范,也就是确保其没有违规的文字.到网上找了一些 ...
- python爬虫爬取股票评论,调用百度AI进行语义分析, matlab观察股票涨跌和评论的关系
文章自己写的,代码自己调试的,但是思想是拿来的哈哈,不能叫严格意义上的 原创哦 一.爬股票的评论 环境:win7 aconda2python2.7,pycharm3.5 professional 1. ...
- 【应用】Python调用百度AI实现图片上表格识别
[应用]Python调用百度AI实现图片上表格识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用AipOcr库识别表格文字 可能遇到的问题 批量操作 简介 Python免费调用百度AI实现图 ...
最新文章
- DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测
- 小码哥30小时快速精通C++和外挂实战特训营
- 【Blog.Core开源】将Program升级为.NET6.0版本
- 用JAVA FX制作3D魔方游戏
- MarkDown(七)——LaTeX数学公式符号标记
- java log4j 动态配置_动态更改log4j日志级别
- 平时收集的一些有关UED的团队和个人博客
- linux 串口/dev/ttyS0测试(UART0)
- SpringBoot整合Thymeleaf(22)
- 漏洞管理平台-洞察贰
- 腾讯云域名证书哪里下载_备案域名证书获取方法
- 分享两个在线制图网站
- arduino知识点梳理(二)——INPUT_PULLUP模式
- 【kimol君的无聊小发明】—用python写PDF转换器
- 每周教育关注 | 紧箍咒?《研究生导师指导行为准则》发布
- 历史课堂上的经典对白
- 计算机网络英语技术支持题目,计算机网络英语学论文选题 计算机网络英语论文题目选什么比较好...
- C++11 FAQ中文版
- Windows九大常用密码
- lua 之 全局变量