图源:抖音
在抖音曾经火了一阵子的蓝线挑战特效,其原理很简单:在蓝线经过后保留本帧的部分像素,形成蒙板图片,未经过处照常切换帧图片,再将蒙版图片贴到每帧图片上。本着我上我也行的想法,试着用opencv-python实现这个效果,做了摄像头版本和视频处理版本。
B站同名@敲python的土木狗
图源: PPT
1. 摄像头版本
从上述描述可知,在摄像头版本中可规定每帧取固定宽度像素,如2个像素,假设视频尺寸为640*480,则需要480/2=240帧,若视频帧率(每秒的帧数)为30,则运行8秒,实际受计算速度等影响会略大于这个值,以下为关键部位代码:
(1)从摄像头获取每帧图像
video = CV2.VideoCapture(0, CV2.CAP_DSHOW)
ret, frame = vid