asysbang

 找回密码
 立即注册
查看: 3281|回复: 3
打印 上一主题 下一主题

android编译opencv

[复制链接]

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2022-1-6 10:43:36 |只看该作者 |倒序浏览
最新编译命令
cmake -DANDROID_NATIVE_API_LEVEL=android-24 -DANDROID_ABI=x86_64 -DCMAKE_TOOLCHAIN_FILE=/home/karl/work/tools/android/Sdk/ndk/23.1.7779620/build/cmake/android.toolchain.cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc ../
gradle编译不过,设置org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64
./gradle/wrapper/gradle-wrapper.properties:3:distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip  改成
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip






export ANDROID_NDK=/home/karl/Android/Sdk/ndk-bundle

mkdir opencv_android

cd opencv_android
cmake -DANDROID_NATIVE_API_LEVEL=android-24  -DANDROID_ABI=armeabi-v7a -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ../
make -j8 && make install

mkdir opencv_android_x86_64

cd opencv_android_x64
cmake -DANDROID_NATIVE_API_LEVEL=android-24 -DANDROID_ABI=x86_64 -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ../
make -j8

对于编译不过的模块可以关闭
-D BUILD_opencv_video=OFF -D BUILD_opencv_videoio=OFF

stoull函数改成 size_t v = (size_t)        atoll(valueStr.c_str());
回复

使用道具 举报

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

沙发
发表于 2022-1-6 10:57:11 |只看该作者
http://www.cplusplus.com/reference/string/stoull/

可以把找不到的函数 抄过去
unsigned long long stoull (const std::string&  str, size_t* idx = 0, int base = 10);
注意string& 前面要加上std::

====下面的简单,但是有些函数不行
或者std::round  改成round   但是有些不行


android 调用opencv 一定要先OpenCVLoader.initAsync

否则会报错"java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat"
回复

使用道具 举报

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

板凳
发表于 2022-1-6 15:45:55 |只看该作者
cmake -DANDROID_NATIVE_API_LEVEL=android-25 -DANDROID_ABI=armeabi-v7a -D BUILD_opencv_video=OFF -D BUILD_opencv_videoio=OFF -D BUILD_opencv_dnn=OFF -D BUILD_opencv_calib3d=OFF \
-D BUILD_opencv_gapi=OFF -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ../

cmake -DANDROID_NATIVE_API_LEVEL=android-25 -DANDROID_ABI=arm64-v8a -D BUILD_opencv_video=OFF -D BUILD_opencv_videoio=OFF -D BUILD_opencv_dnn=OFF -D BUILD_opencv_calib3d=OFF \
-D BUILD_opencv_gapi=OFF -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ../

cmake -DANDROID_NATIVE_API_LEVEL=android-25 -DANDROID_ABI=x86 -D BUILD_opencv_video=OFF -D BUILD_opencv_videoio=OFF -D BUILD_opencv_dnn=OFF -D BUILD_opencv_calib3d=OFF \
-D BUILD_opencv_gapi=OFF -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ../
回复

使用道具 举报

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

地板
发表于 2022-1-6 18:05:33 |只看该作者
    private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            super.onManagerConnected(status);
            Log.e("","========onManagerConnected="+status);
            Mat mat = new Mat(120, 120, CvType.CV_8UC4);
            Log.e("","========cols111="+mat.cols());
        }
    };

    @Override
    public void onResume()
    {
        super.onResume();
        if (!OpenCVLoader.initDebug()) {
            Log.d("aaa", "===Internal OpenCV library not found. Using OpenCV Manager for initialization");
            OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
        } else {
            Log.d("", "=====OpenCV library found inside package. Using it!");
            mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
        }
    }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2024-10-7 15:22 , Processed in 0.043400 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部