使用 Python 将绿屏背景替换成自定义图片

人工智能等各类编程培训资料整理,所有资源无秘无压缩-购买会员

你有没有想过我们如何自己替换图像中的绿屏背景?

在这里,将教你如何使用 Python 和 OpenCV 替换具有绿屏背景的图像。

让我们进入正题,首先将拍摄两张图像作为我们程序的输入,一张是绿屏背景的图像,另一张是将设置成背景的图像。

带有绿屏背景的图像和要设置的背景图像

首先,你需要安装一些必需的库,例如 OpenCV 和 cvzone。

要安装这些库,只需打开命令提示符或终端并键入以下内容,然后按 Enter。

pip install opencv-pythonpip install cvzone

安装库后,导入安装的库并读取这两个图像,如下所示,

# Importing librariesimport cv2from cvzone.SelfiSegmentationModule import SelfiSegmentation# Reading the green screen and background imagegreen_screen_img = cv2.imread("Green Screen Image Path")bg_img = cv2.imread("Background Image Path")

两个图像应具有相同的尺寸(相同的宽度和高度)。使用shape属姓检查尺寸(返回高度、宽度、通道)。如果两个图像的尺寸不同,则使用cv2.resize() 将这些图像的尺寸调整为相同的尺寸。

# Checking dimensionsprint(green_screen_img.shape)print(bg_img.shape)# In my case both are having different dimension.# So, I have to resize my images to same dimensions.w, h = 640, 480green_screen_img = cv2.resize(green_screen_img, (w, h))bg_img = cv2.resize(bg_img, (w, h))

调整图像大小后,为SelfiSegmentation创建一个从cvzone.SelfiSegmentationModule导入的对象,然后从该对象调用一个函数removeBG(),该函数接受三个参数。

源图像背景图像/背景颜涩阈值(默认 = 0.1)(可选)output_1 = segmentor.removeBG(green_screen_img, bg_img) cv2.imshow("Output-1", output) cv2.waitKey(0)

具有默认阈值 (0.1) 的输出图像

output_2 = segmentor.removeBG(green_screen_img, bg_img, threshold=0.4) cv2.imshow("Output-2", output_2) cv2.waitKey(0)

输出阈值为 0.4 的图像

注意:最大阈值可以是1。如果阈值设置为 1,则整个图像被背景图像占据,如下所示,

output_3 = segmentor.removeBG(green_screen_img, bg_img, threshold=1)cv2.imshow("Output-3", output_3)cv2.waitKey(0)

阈值为 1 的输出图像

你也可以在BGR(蓝涩、绿涩、红涩)值中指定颜涩,而不是将图像指定为背景,如下图所示,

# In my case, I am choosing Red color as background# RED - (0, 0, 255)output = segmentor.removeBG(green_screen_img, (0, 0, 255))cv2.imshow("Output", output)cv2.waitKey(0)

以红涩为背景的输出图像

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 使用 Python 将绿屏背景替换成自定义图片