一、学习目标
了解浮游水印如何实现
了解鬼畜水印效果如何实现
二、了解使用OpenCV制作视频特效
2.1 读取视频
首先我们需要准备一个视频素材,我的路径是‘D:\test\02.mp4’,使用VideoCapture进行读取。代码如下:
capture2=cv2.VideoCapture(r'D:\test\02.mp4')
当然,在开头还需要引入库:
import cv2
随后我们创建一个窗口,防止我们的内容过于过大会让我们观察不便。代码如下:
cv2.namedWindow("Image",cv2.WINDOW_NORMAL)
接下来我们需要读取图片的每一帧,每一帧使用read方法进行读取返回一个res与图片img。代码如下:
r,img=capture2.read()
我们现在只需要加个循环就可以每一帧读取图片进行播放了。代码如下:
while True:
r,img=capture2.read()
if r==False:
break
cv2.imshow("Image", img)
k=cv2.waitKey (40)
if k==27:
break
运行一下代码可以看到视频:
好了,基本没啥事就可以开始了。
2.2 了解需求
我们先看一下我们要完成的效果。
以上图片中红色区域的白色文字则是我需要添加的水印,并且水印可以游走于整个屏幕,不规则的进行运动。
2.3 使用putText先加点内容
我们在前几节课程有了解putText而已在视频上进行文字的添加,并且putText方法可以指定文字添加的位置。我们首先先在固定位置添加文本信息。在之前我们要使程序更灵活,我们先创建几个变量作为putText方法的参数。代码如下:
#字体
fontx=300
fonty=0
fontpos=(fontx,fonty)#字体所在的坐标
#字体宽度与厚度
font_size=1
font_bold=1
#字体内容
font_text=r'Blog 1_bit @ebaina @csdn'
#字体颜色
B_=255
G_=255
R_=255
font_color=(B_,G_,R_)
font=cv2.FONT_HER