想要给视频添加水印,需要从视频中取出图像帧,给图像帧添加文字、图片水印即可
首先需要取到BufferedImage,通过这个就可以用Java的方式添加水印
从grabber中获取BufferedImage:
//获取BufferedImage可以给图像帧添加水印
Java2DFrameConverter javaconverter=new Java2DFrameConverter();
BufferedImage buffImg=javaconverter.convert(grabber.grab());
获取到了BufferedImage就可以开始给视频帧添加文字或者图片水印
用java添加水印:
(1)摄像头视频抓取
(2)Frame和Mat相互转换
(3)给图像添加文字
(4)把添加水印文字的图像转换为Frame并显示到窗口
(5)保存图片
代码实现
运行后会出现一个窗口,窗口中会实时显示日期和eguid正向和eguid翻转字符,关闭窗口相当于结束程序运行。
该程序会自动保存第一帧图像到本地eguid.jpg文件。
// 转换器,用于Frame/Mat/IplImage相互转换
OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameConverter.ToIplImage();
// 使用OpenCV抓取本机摄像头,摄像头设备号默认0
OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);
// 开启抓取器
grabber.start();