废话不多说。
准备工作:
1. 下载源码:http://opencv.org/
编译平台:ubuntu14.04
opencv 2.4.6.1
本人用这种办法编译了opecv 2.4.9 的没有什么问题, 问题比opencv2.4.6.1还要少, 其实他们的原理是一样的.
opencv 源码根目录----${opencv_home}
2.
修改${opencv_home}/platforms/scripts/cmake_android_arm.sh 文件,添加编译选项-DBUILD_SHARED_LIBS=ON 和 -DWITH_OPENCL=ON
修改后的cmake_android_arm.sh 文件如下:
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_android_arm
cd build_android_arm
cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake $@ ../..\
-DBUILD_SHARED_LIBS=ON -DWITH_OPENCL=ON
3.
修改 ${opencv_home}/cmake/OpenCVDetectOpenCL.cmake
以便生成支持编译opencl 的编译选项:
在OpenCVDetectOpenCL.cmake 40 行后面添加
set(OPENCL_FOUND YES)
set(OPENCL_INCLUDE_DIR your_ocl_include_dir)
#set(OPENCL_LIBRARY you_opencl_lib_file_path)
一个是设置ocl头文件,一个设置opencl 库文件的, 上面把他注释掉了是因为本人要用的是动态显示调用的方式去调用opencl库的api, 这样就不用在编译的添加于设备相关的opencl库了。
4.
修改 ${opencv_home}/CMakeLists.txt
OCV_OPTION(WITH_OPENCL "Include OpenCL Runtime support" ON IF (NOT IOS) )
这一步好像在opencv2.4.9 版本的源码不用设置可以。
这个的主要目的是为了能是下一步生成支持opencl 的选项。
5.执行 ${opencv_home}/platforms/scripts/cmake_android_arm.sh
如果执行有问题, 设置NDK 路径:
终端执行:export NDKROOT=/xxxx/android-ndk-r9d
可以看到:
-- Other third-party libraries:
-- Use IPP: NO
-- Use Eigen: NO
-- Use TBB: NO
-- Use OpenMP: NO
-- Use GCD NO
-- Use Concurrency NO
-- Use C=: NO
-- Use Cuda: NO
-- Use OpenCL: YES
这这样就能编译相关的库了。 不过如果没有设置
set(OPENCL_LIBRARY you_opencl_lib_file_path)
这个可能会导致一些test 编译不过去,没有关系, ocl的相关库已经能编译好了。
6. 切换到 ${opencv_home}/platforms/build_android_arm 目录:
执行:make
等待编译完成吧...
7.最终Andorid动态库在${opencv_home}/platforms/build_android_arm/lib/armeabi-v7a下生成
对于Android x86 的同理Android arm 库的编译方法, 只是步骤2, 5操作脚本是${opencv_home}/platforms/scripts/cmake_android_x86.sh
祝你使用愉快。 有什么问题, 欢迎指出, 以便更正。
分享到:
相关推荐
build-opencv-for-android-master
openCV4.6.0+android-ndk-r22-windows-x86_64编译的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124527556 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者交流使用...
opencv最新版本3.0.0-rc1对应的android版本的sdk,安装eclipse后,需要配置opencv的开发环境,成功后即可进行图像处理的java研究!
opencv for android官方教程.docx
opencv用于支持安卓x86平台(比如:手机平板上用的是Intel的处理器)的驱动引用包
opencv4 , 包含的arm64-v8a、armeabi-v7a、x86、x86_64的so库 Android可以使用的。
oepncv用于支持安卓ARM平台的驱动引用包
【opencv_world455_x86_vc17 库文件】 简介:使用 cmake 编译(VS2022 / vc17)适用于 x86 架构系统的 opencv_world455 库文件。包含动态链接库(.lib)和静态链接库(.dll)及其 debug 版本。 主要文件: 1. 头文件...
OpenCvSharp-4.0.0-x86 C# Opencv开发
以Dotnet4.0为例, 在net40目录下的的DLL拷贝到程序目录下,并将 OpenCvSharp.dll 引用到你的程序当中 将解压包根目录下的 OpenCvSharpExtern.dll 拷贝到程序的debug目录下 将当前工程的debug设置为x86
Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译的armeabi-v7a动态库 https://blog.csdn.net/aggs1990/article/details/124526728 CSDN审核可能较慢,如无法下载,可以过段时间再回来看...
android下的opencv 2.4.2库,可以在手机上使用opencv开发程序
C#下用的OpenCV版本,对应opencv4.1版本,这是32位的版本
opencv android studio开发配置opencv android studio开发配置opencv android studio开发配置
FFMPEG3.4.1+JavaCV1.4.1+OpenCV3.4.1的安卓及macos平台支持库。... 本资源文件列表: artoolkitplus-macosx-x86_64.jar ffmpeg-macosx-x86_64.jar flandmark-macosx-x86_64.jar ...opencv-android-x86_64.jar
opencv3.2 for arm linux移植笔记.开发板:Orangepi PC(全志H3)
Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124526728 CSDN审核可能较慢,如无法下载,可以过段时间再回来...
自己编译后提取出来的,验证使用过二维码识别功能 运行net程序前执行 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dlldir/runtimes/arm(下载的包解压后的路径)
Ubuntu环境下,OpenCV通过链接freetype库,来支持中文显示。
OpenCV官方只支持X64位安装,如果需要X86 32位版本需要通过源码自行编译。...OpenCV4.5.4-X86-MSVC2019环境编译的32位动态库,带BUILD_opencv_world,包含Release、Debug双版本,通过Demo验证成功,欢迎使用。