首页 > 解决方案 > 在 Android 应用程序中运行 javacv 1.5 时出错

问题描述

我试图用 FFmpegFrameGrabber 打开一个 ONVIF WIFI CAMERA 以在 Android studio 的 javacv 中使用。我在 SurfaceView 的渲染方法中将 frameGrabber.grabImage() 发送到 AsyncTask:

        '''
        Mat mat0= new Mat(1080,1920,CV_8UC1);
        Mat mat=new Mat(1080,1920,CV_8UC3);;

         TestTask task = new TestTask();
        task.execute();
        mat = new ToMat().convert(frame);
        if (!(mat ==null)){
         cvtColor(mat, mat0, CV_BGR2GRAY);
         clahe.apply(mat0, mat0);
         frame = converterToMat.convert(mat0);
         bitmap = converterToBitmap.convert(frame);
        '''            

这是异步任务:

         '''
        private class TestTask extends AsyncTask<Void, Void,                                                                                     org.bytedeco.javacv.Frame> /* Params, Progress, Result */ {
               @Override
        protected Frame doInBackground(Void... params) {
        try {

        frame = frameGrabber.grabImage();
            Log.d(LOGTAG, "frameGrabber is grabImage");
        } catch (Exception e) {
            e.printStackTrace();

        };
        return frame;
    }

'''
构建成功,但运行时出现此错误:

   Caused by: ...(address)...     couldn't find "libopencv_imgproc.so" at java.lang.Runtime.loadLibrary0(Runtime.java:1012)

因为我确保使用 javaCV 1.5,我在下面使用这些依赖项:

        '''
        implementation group: 'org.bytedeco', name: 'javacpp', version: '1.5'
        implementation  group: 'org.bytedeco', name: 'javacv-platform', version: '1.5'
        implementation group: 'org.bytedeco', name: 'opencv-platform', version: '4.0.1-1.5'
        implementation group: 'org.bytedeco', name: 'ffmpeg', version: '4.1.3-1.5'

请帮帮我,我能解决吗?

标签: javaandroidandroid-gradle-pluginbuild.gradlejavacv

解决方案


推荐阅读