在之前的文章中,介绍了如何利用OpenCV在图片中插入图形和文字的方法。本篇文章主要介绍了如何opencv为视频添加动态字幕。
利用opencv编辑视频的主要原理是通过将视频帧解析为opencv 矩阵的格式实现的,通过计算帧频率和帧数量,可以很容易实现为视频添加动态字幕的功能,其实现代码如下:
#include
#include
#include
#include
#include"putText.h"
#include
#include
using namespace cv;
/*
*
* 每隔30帧写入一个汉字,“青山依旧在,几度夕阳红”
*
*/
void processFrame(Mat m,const char* text,Point pp)
{
if (!m.empty())
{
putTextZH(m, text, pp, Scalar(130, 220, 238), 100, "迷你简启体");
}
}
int main()
{
//加载视频
VideoCapture capture;
Mat frame;
int count = 0;
frame = capture.open("test.mp4");
const char *text1[]= {"青","青\n山","青\n山\n依","青\n