JavaCV实现将视频以帧方式抽取
使用前:在用JavaCV实现以帧方式抽取视频的前,我们需要先从bytedeco/javacv下载第三方的压缩包,解压后按自己的需求往自己的IDE(*IDEA/Eclipse*)导入解压缩包下JAR文件;
接下来就以代码方式来说明如何利用Javacv来将视频以帧的方式抽取出来:
importorg.bytedeco.javacv.FFmpegFrameGrabber;
importorg.bytedeco.javacv.Frame;
importorg.bytedeco.javacv.Java2DFrameConverter;
importjavax.imageio.ImageIO;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importstaticorg.bytedeco.javacpp.opencv_core.IplImage;
importstaticorg.bytedeco.javacpp.opencv_core.cvReleaseImage;
importstaticorg.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage;
importstaticorg.bytedeco.javacpp.opencv_imgcodecs.cvSaveImage;
importstaticorg.bytedeco.javacpp.opencv_imgproc.cvSmooth;
publicclassJavaCV{
//theimage'spath;
finalstaticStringimagePath="/home/lance/abc.jpg/";
//thevedio'spathandfilename;
finalstaticStringvedioPath="/home/lance/target-a/";
finalstaticStringvedioName="origin-a.mp4";
publicstaticvoidmain(String[]args)throwsException{
smooth(imagePath);
grabberFFmpegImage(vedioPath+vedioName,vedioPath
,vedioName,30);
}
//themethodofcompressimage;
publicstaticvoidsmooth(StringfileName){
IplImageiplImage=cvLoadImage(fileName);
if(iplImage!=null){
cvSmooth(iplImage,iplImage);
cvSaveImage(fileName,iplImage);
cvReleaseImage(iplImage);
}
}
//grabffmpegImagefromvedio;
publicstaticvoidgrabberFFmpegImage(StringfilePath,StringfileTargetPath
,StringfileTargetName,intgrabSize)throwsException{
FFmpegFrameGrabberff=FFmpegFrameGrabber.createDefault(filePath);
ff.start();
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西