电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

python 使用OpenCV進(jìn)行簡單的人像分割與合成

瀏覽:68日期:2022-06-28 15:33:28
實(shí)現(xiàn)思路

通過背景建模的方法,對(duì)源圖像中的動(dòng)態(tài)人物前景進(jìn)行分割,再將目標(biāo)圖像作為背景,進(jìn)行合成操作,獲得一個(gè)可用的合成影像。

實(shí)現(xiàn)步驟如下。

使用BackgroundSubtractorMOG2進(jìn)行背景分割

BackgroundSubtractorMOG2是一個(gè)以高斯混合模型為基礎(chǔ)的背景前景分割算法,

混合高斯模型

python 使用OpenCV進(jìn)行簡單的人像分割與合成

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

回到原算法,它的一個(gè)特點(diǎn)是它為每一個(gè)像素選擇一個(gè)合適數(shù)目的高斯分布。基于高斯模型的期望和標(biāo)準(zhǔn)差來判斷混合高斯模型模型中的哪個(gè)高斯模型更有可能對(duì)應(yīng)這個(gè)像素點(diǎn),如果不符合就會(huì)被判定為前景。

使用人像識(shí)別填充面部信息

創(chuàng)建級(jí)聯(lián)分類器

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

使用OpenCV自帶的級(jí)聯(lián)分類器,加載OpenCV的基礎(chǔ)人像識(shí)別數(shù)據(jù)。

識(shí)別源圖像中的人像

faces = face_cascade.detectMultiScale(gray, 1.3, 5)使用形態(tài)學(xué)填充分割出來的前景

# 形態(tài)學(xué)開運(yùn)算去噪點(diǎn)fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)for i in range(15): fgmask = cv2.dilate(fgmask, kernel, iterations=1)

通過開操作去掉前景圖像數(shù)組中的噪點(diǎn),然后重復(fù)進(jìn)行膨脹,填充前景輪廓。

將人像與目標(biāo)背景進(jìn)行合成

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

將分割出來的部分取反再與源圖像進(jìn)行減操作,相當(dāng)于用一個(gè)Mask從原圖中摳出一部分。

再與背景進(jìn)行加操作

out = resolve(frame, fgmask, faces)out = cv2.add(out, c_frame)代碼實(shí)現(xiàn)

import numpy as npimport cv2import os# 經(jīng)典的測試視頻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’)# 形態(tài)學(xué)操作需要使用kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3))# 創(chuàng)建混合高斯模型用于背景建模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_imgwhile True: ret, frame = cap.read() c_ret, c_frame = camera.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) fgmask = fgbg.apply(frame) # 形態(tài)學(xué)開運(yùn)算去噪點(diǎn) 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: breakout.release()camera.release()cap.release()cv2.destroyAllWindows()

以上就是python 使用OpenCV進(jìn)行簡單的人像分割與合成的詳細(xì)內(nèi)容,更多關(guān)于python opencv人像分割與合成的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 广东教师资格网-广东教师资格证考试网| 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 济南电缆桥架|山东桥架-济南航丰实业有限公司 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 环球电气之家-中国专业电气电子产品行业服务网站! | 污水处理设备-海普欧环保集团有限公司| 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 物流公司电话|附近物流公司电话上门取货 | 江西自考网-江西自学考试网 | 东莞注册公司-代办营业执照-东莞公司注册代理记账-极刻财税 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | YAGEO国巨电容|贴片电阻|电容价格|三星代理商-深圳市巨优电子有限公司 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 宠物店加盟_宠物连锁店_开宠物店-【派多格宠物】 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 |