-
下载OpenCV安卓SDK开发包
-
as 新建普通的工程,导入opencv模块
File->New->Import Module 找到
将解压后的sdk下的 OpenCV-android-sdk/sdk/java 目录
导入后的默认是作为application应用的,文件夹图标右下角是一个绿色点的,因为下面app要将这个导入的模块作为依赖,所以需要将它变成library库
打开导入后的模块的build.grade文件,修改
apply plugin: 'com.android.appdaimalication为
apply plugin: 'com.android.library'将导入的opencv4模块设置为app的依赖(Dependencies)
打开工程结构,选择app的Dependencies,添加Module Dependency,选择刚刚导入的opencv4
这里可以按需复制
打开app模块的build.gradle文件,添加下面的代码到android节点下
用VideoCaputer 读取视频,并提取每一帧保存为图片
在Activity里引入加载so库
static{ System.loadLibrary("opencv_java4");}resume函数里(这里是参考官方例子的,在onCreate里初始化一次应该也是可以的)
if(!OpenCVLoader.initDebug()) { Toast.makeText(this,"init success",Toast.LENGTH_SHORT).show(); } else { mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS); }提取帧核心代码
@Override protected String doInBackground(String... strings) { VideoCapture video = new VideoCapture(strings[0]); Mat frame = new Mat(); int index = 0; while(video.read(frame)) { File out = new File(this.outPath,String.format("%d.png",index)); Imgcodecs.imwrite(out.getAbsolutePath(),frame); index+=1; publishProgress(new ExtraMessage(0,index,out.getAbsolutePath())); } return null; }



