好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python 使用OpenCV進行簡單的人像分割與合成

python 使用OpenCV進行簡單的人像分割與合成

熱門標簽:滴滴地圖標注公司 如何申請400電話代理 杭州房產地圖標注 江門智能電話機器人 地圖標注可以遠程操作嗎 智能電話機器人調研 天津塘沽區地圖標注 甘肅高頻外呼系統 400電話在線如何申請

實現思路

通過背景建模的方法,對源圖像中的動態人物前景進行分割,再將目標圖像作為背景,進行合成操作,獲得一個可用的合成影像。

實現步驟如下。

使用BackgroundSubtractorMOG2進行背景分割

BackgroundSubtractorMOG2是一個以高斯混合模型為基礎的背景前景分割算法,

混合高斯模型

分布概率是K個高斯分布的和,每個高斯分布有屬于自己的 μμ 和 σσ 參數,以及對應的權重參數,權重值必須為正數,所有權重的和必須等于1,以確保公式給出數值是合理的概率密度值。換句話說如果我們把該公式對應的輸入空間合并起來,結果將等于1。

回到原算法,它的一個特點是它為每一個像素選擇一個合適數目的高斯分布。基于高斯模型的期望和標準差來判斷混合高斯模型模型中的哪個高斯模型更有可能對應這個像素點,如果不符合就會被判定為前景。

使用人像識別填充面部信息

創建級聯分類器

face_cascade = cv2.CascadeClassifier()
face_cascade.load(
  '/usr/local/anaconda3/envs/OpenCV/lib/python3.8/site-packages/cv2/data/haarcascade_frontalface_default.xml')

使用OpenCV自帶的級聯分類器,加載OpenCV的基礎人像識別數據。

識別源圖像中的人像

faces = face_cascade.detectMultiScale(gray, 1.3, 5)

使用形態學填充分割出來的前景

# 形態學開運算去噪點
fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)
for i in range(15):
  fgmask = cv2.dilate(fgmask, kernel, iterations=1)

通過開操作去掉前景圖像數組中的噪點,然后重復進行膨脹,填充前景輪廓。

將人像與目標背景進行合成

def resolve(o_img, mask, faces):
  if len(faces) == 0:
    return
  (x, y, w, h) = faces[0]
  rgb_mask_front = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
  rgb_mask_front = cv2.bitwise_not(rgb_mask_front)
  cv2.circle(rgb_mask_front, (int(x + w / 2), int(y + h / 2)), int((w + h) / 4), (0, 0, 0), thickness=-1)
  o_img = cv2.subtract(o_img, rgb_mask_front)
  return o_img

將分割出來的部分取反再與源圖像進行減操作,相當于用一個Mask從原圖中摳出一部分。

再與背景進行加操作

out = resolve(frame, fgmask, faces)
out = cv2.add(out, c_frame)

代碼實現

import numpy as np
import cv2
import os

# 經典的測試視頻
camera = cv2.VideoCapture('./source/background_test2.avi')
cap = cv2.VideoCapture('./source/camera_test2.avi')
face_cascade = cv2.CascadeClassifier()
face_cascade.load(
   os.getcwd()+'/source/haarcascade_frontalface_default.xml')
# 形態學操作需要使用
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3))
# 創建混合高斯模型用于背景建模
fgbg = cv2.createBackgroundSubtractorMOG2(detectShadows=False)


def resolve(o_img, mask, faces):
  if len(faces) == 0:
    return
  (x, y, w, h) = faces[0]
  rgb_mask_front = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
  rgb_mask_front = cv2.bitwise_not(rgb_mask_front)
  cv2.circle(rgb_mask_front, (int(x + w / 2), int(y + h / 2)), int((w + h) / 4), (0, 0, 0), thickness=-1)
  o_img = cv2.subtract(o_img, rgb_mask_front)
  return o_img


while True:
  ret, frame = cap.read()
  c_ret, c_frame = camera.read()
  gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

  fgmask = fgbg.apply(frame)
  # 形態學開運算去噪點
  fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)
  gray_camera = cv2.cvtColor(c_frame, cv2.COLOR_BGR2GRAY)

  for i in range(15):
    fgmask = cv2.dilate(fgmask, kernel, iterations=1)

  faces = face_cascade.detectMultiScale(gray, 1.3, 5)
  out = resolve(frame, fgmask, faces)
  out = cv2.add(out, c_frame)
  cv2.imshow('Result', out)
  cv2.imshow('Mask', fgmask)
  k = cv2.waitKey(150)  0xff
  if k == 27:
    break
out.release()
camera.release()
cap.release()
cv2.destroyAllWindows()

以上就是python 使用OpenCV進行簡單的人像分割與合成的詳細內容,更多關于python opencv人像分割與合成的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python OpenCV高斯金字塔與拉普拉斯金字塔的實現
  • Python OpenCV 基于圖像邊緣提取的輪廓發現函數
  • Python opencv操作深入詳解
  • Python+Opencv實現數字識別的示例代碼
  • python中的opencv和PIL(pillow)轉化操作
  • Python OpenCV 圖像區域輪廓標記(框選各種小紙條)
  • python opencv 找出圖像中的最大輪廓并填充(生成mask)
  • python利用opencv實現顏色檢測
  • Python基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)
  • python基于OpenCV模板匹配識別圖片中的數字

標簽:漢中 河池 長春 德宏 臨汾 東莞 廊坊 重慶

巨人網絡通訊聲明:本文標題《python 使用OpenCV進行簡單的人像分割與合成》,本文關鍵詞  python,使用,OpenCV,進行,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 使用OpenCV進行簡單的人像分割與合成》相關的同類信息!
  • 本頁收集關于python 使用OpenCV進行簡單的人像分割與合成的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 双性人bbww欧美双性| 天天躁夜夜躁狠狠躁AV乐播蜜桃 | 成人欧美一区二区三区黑人麻豆 | 欧美juliaann精品videossex| 久久精品国产亚洲AV无码85| 欧美另类极度残忍拳头交| 美国女人高潮HD| 最近无中文字幕视频| 可以看到女生所有部位的头像| 5个姿势夹的男人爽到叫视频| 国精产品一区一区二区三| 日韩免费高清一级毛片在线| 91偷自产一区二区三区堕落人妻| 白白白免费永久在线视频| 扒开腿挺进肉嫩小说18禁视频| 屁股又大又白| 亚洲欧美另类日韩| 国产成人综合网在线观看| 久久国产成人精品Av| 91久久国产最好的精华液| 国产原创剧情v在线观看 | 总裁大人不可以顶点| 亚洲国产成人超福利久久精品| 国内精品久久久久久久小说| 91精品国产品国语在线不卡| 日本无翼乌全彩j奶无遮挡漫| 激烈的男同(h)| 成人黄色大片| 婷婷99狠狠躁天天躁中文字幕| 中国男gary帅西北君君| 老师别了下面已经很涨了h| 高h羞辱调教小说| 熟女人妻麻豆噜噜噜| 男男文高h| 被黑人c到高潮婬荡呻吟动态图| 综合色中色| 亚洲综合精品| 日本少妇做爰全过程毛片苍井空| 色女导航| 日本xxxxhd高清| 色天天综合色天天碰|