# -*- coding: utf-8 -*-
from PIL import Image
import numpy as np
import cv2
cap =cv2.VideoCapture(0,cv2.CAP_DSHOW)
cap.set(5,10)
# 要替换的背景,分辨率为摄像头的尺寸,否则会报错
img_back=cv2.imread('bk.jpg')
while True:
ret,frame = cap.read()
if ret == False:
continue
#获取摄像头捕获相片的尺寸,替换背景图片尺寸必须与摄像头图片尺寸一致,否则会报错
rows, cols, channels = frame.shape
print(frame.shape)
lower_color = np.array([120, 120, 120])
upper_color = np.array([250, 250, 250])
# 创建掩图
fgmask = cv2.inRange(frame, lower_color, upper_color)
cv2.imshow('Mask', fgmask)
# 腐蚀膨胀
erode = cv2.erode(fgmask, None, iterations=1)
cv2.imshow('erode', erode)
dilate = cv2.dilate(erode, None, iterations=1)
cv2.imshow('dilate', dilate)
rows, cols = dilate.shape
img_back=img_back[0:rows,0:cols]
#print(img_back)
# #根据掩图和原图进行抠图
img2_fg = cv2.bitwise_and(img_back, img_back, mask=dilate)
Mask_inv = cv2.bitwise_not(dilate)
img3_fg = cv2.bitwise_and(frame, frame, mask=Mask_inv)
finalImg=img2_fg+img3_fg
cv2.imshow('res', finalImg)
k = cv2.waitKey(10) & 0xFF
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
网友回复
如何写ai提示词让大模型根据主题生成视频脚本json,然后让Hyperframe渲染出mp4视频?
有哪些字体使用等宽编程代码展示?
如果让演唱会歌迷的上万手机屏幕和闪光灯一起被现场中控控制闪烁?
Midjourney为啥进军医疗领域了?
python如何跟踪足球比赛指定球员全场运动标注打聚光灯合成
如何将linux服务器的文件目录映射到windows电脑磁盘?
Docling 与 MarkItDown 两个库有啥不同?
豆包收费后国产其他ai软件也会跟进收费吗?
JPEG 与 HEIF图片格式区别?
centos7版本太旧无法安装python3.11,如何在docker中运行python3.11?


