最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python調(diào)用百度AI實(shí)現(xiàn)人像分割詳解

 更新時(shí)間:2021年12月21日 08:54:47   作者:學(xué)術(shù)菜鳥(niǎo)小晨  
本文主要介紹了如何通過(guò)Python調(diào)用百度AI從而實(shí)現(xiàn)人像的分割與合成,文中的示例代碼對(duì)我們的工作或?qū)W習(xí)有一定的幫助,需要的朋友可以參考一下

一、原始視頻截圖

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:
    # 按順序構(gòu)造出圖片路徑
    img = os.path.join("./pictures",im)
    img1 = cv2.imread(img)
    height, width, _ = img1.shape
    # print(height, width)
    # 二進(jìn)制方式讀取圖片
    with open(img, 'rb') as fp:
        img_info = fp.read()
 
 
    # 設(shè)置只返回前景   也就是分割出來(lái)的人像
    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)
 
    # 圖片加權(quán)合成
    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')
# 保存格式,參數(shù)分別為filename,編碼器,幀率,尺寸
out=cv2.VideoWriter("2.avi",fourcc,10,(3840,2160))
print(pics)
for im in pics:
    # 按順序構(gòu)造出圖片路徑
    img = os.path.join("./he/",im)
    img1 = cv2.imread(img)
# 指定編碼器
    print(img1)
 
# 寫(xiě)入視頻
    out.write(img1)
    cv2.imshow("detections", img1)
# 注意:尺寸一定要和圖像保持一致,否則看不了視頻
# 如果想改變保存視頻尺寸,應(yīng)該先把讀入的圖像的尺寸改變
out.release()
cv2.destoryAllWindows()

到此這篇關(guān)于Python調(diào)用百度AI實(shí)現(xiàn)人像分割詳解的文章就介紹到這了,更多相關(guān)Python人像分割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中利用算法優(yōu)化性能的技巧分享

    Python中利用算法優(yōu)化性能的技巧分享

    這篇文章主要為大家詳細(xì)介紹了Python中12個(gè)可以利用算法優(yōu)化性能的技巧,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,有需要的小伙伴可以了解下
    2025-04-04
  • Python API len函數(shù)操作過(guò)程解析

    Python API len函數(shù)操作過(guò)程解析

    這篇文章主要介紹了Python API len函數(shù)操作過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • PaddleOCR 識(shí)別表情包文字示例詳解

    PaddleOCR 識(shí)別表情包文字示例詳解

    這篇文章主要為大家介紹了PaddleOCR 識(shí)別表情包文字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類

    Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類

    這篇文章主要為大家介紹了Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • python 2.7.14安裝圖文教程

    python 2.7.14安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了python 2.7.14安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python?reshape和transpose的區(qū)別小結(jié)

    python?reshape和transpose的區(qū)別小結(jié)

    reshape()?和?transpose()?是用于改變數(shù)組或張量形狀的兩種不同方法,本文主要介紹了python?reshape和transpose的區(qū)別小結(jié),具有一定參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • selenium執(zhí)行js并繞過(guò)webdriver監(jiān)測(cè)常見(jiàn)方法

    selenium執(zhí)行js并繞過(guò)webdriver監(jiān)測(cè)常見(jiàn)方法

    這篇文章主要為大家介紹了selenium執(zhí)行js并繞過(guò)webdriver監(jiān)測(cè)常見(jiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 詳解Selenium 元素定位和WebDriver常用方法

    詳解Selenium 元素定位和WebDriver常用方法

    這篇文章主要介紹了詳解Selenium 元素定位和WebDriver常用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 淺談django三種緩存模式的使用及注意點(diǎn)

    淺談django三種緩存模式的使用及注意點(diǎn)

    這篇文章主要介紹了淺談django 三種緩存模式的使用及注意點(diǎn),詳細(xì)的介紹了三種緩存模式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 利用Python實(shí)現(xiàn)圖書(shū)超期提醒

    利用Python實(shí)現(xiàn)圖書(shū)超期提醒

    很多人喜歡逛圖書(shū)館,時(shí)不時(shí)去借本書(shū),但每本書(shū)可能只可以借兩個(gè)月,一旦超期不還就會(huì)進(jìn)行相應(yīng)的處罰!為什么不寫(xiě)個(gè)腳本來(lái)通知自己圖書(shū)超期呢?說(shuō)了這么多廢話,我們就進(jìn)入主題吧!??!
    2016-08-08

最新評(píng)論

额济纳旗| 萨嘎县| 永兴县| 巴中市| 米泉市| 广平县| 景东| 石柱| 伽师县| 渭南市| 鹤山市| 宜川县| 邓州市| 宜丰县| 卫辉市| 扎鲁特旗| 鹤庆县| 邵东县| 东辽县| 界首市| 正安县| 光泽县| 徐水县| 博乐市| 唐山市| 安龙县| 涿鹿县| 尤溪县| 肥城市| 岑巩县| 湘潭市| 三门峡市| 西吉县| 高密市| 县级市| 桃源县| 黎川县| 望奎县| 鸡西市| 甘孜县| 秦皇岛市|