在C++上如何使用OpenCV头文件是什么_初始OpenCV

之前看了一下OpenCV的书,但是一直没有笔记。这次来简单写一下自己学到的东西。看书的时候面向对象有“想自我提升的中高级程序员”,好吧,那我就暂时把自己定位高级程序员吧。

认识OpenCV

简单来说,OpenCV就是个库。

OpenCV的意思是计算机开源视觉库(Open Source Computer Library),我们常说的OpenCV分为正式发布版本和扩展模块,现在发布的OpenCV正式版本中核心模块大概有:

二维与三维特征工具箱、运动估算、人脸识别、姿势识别、人机交互、运动理解、对象检测 、移动机器人 、分割与识别、视频分析、运动跟踪、图像处理、深度神经网络

注意:在核心模块中的持久性(在XML,YAML或JSON中存储和加载结构化数据)已在C ++中完全重新实现,并且也丢失了C API。

到这里就应该知道,OpenCV是一个通过JNI调用的有C/C++写的代码库,并不是由JAVA代码完成的。我们可以通过下面的链接进行下载OpenCV4Android:

https://opencv.org/releases.html

下载完成之后解压文件,解压所得文件夹中有SDK文件夹,SDK文件夹结构大概为下图:

c9b6eedbe38b0246a95803d94620d496.png

其中,etc文件夹下为训练好的LBP和HAAR数据;java下是android sdk相关文件;native里面则是基于C/C++编译好的OpenCV Android平台支持的本地库文件,JNI层开发所需要的头文件及cmake文件,其中库文件大多数是以.a和.so后缀的文件。

在和SDK统同级的文件中有一个samples文件夹,这个文件为OpenCV的一些使用提供了Android的例子,可以参考一下。注意:需要安装NDK,如果没有安装系统会提示你安装,在安装NDK时会有链接reset或者链接不到的问题,请自行百度解决,不再赘述。

最后需要知道的是,OpenCV4Android(OpenCV Android)版本和OpenCV对应发布的版本是完全一样的,只是调用需要切换成Java语言。

开始使用OpenCV

使用方法和我们平常使用其他SDK是一样的:

  • 选择File – New – Import Module ,然后选择之前解压出来的SDK/JAVA文件夹,系统会自动显示OpenCV版本信息
  • 打开Project Structure添加依赖
  • 复制native/libs下的所有文件到app/libs下,如果找不到app/libs文件夹,请将Android视图切换为Project视图。然后删除所有.a后缀的文件。
  • minSDKVersion改为14
  • 在module:app对应的build.gradle脚本中添加以下内容
task nativeLibsToJar(type: Jar, description:'create a jar archive of the native libs') { destinationDir file("$buildDir/native­libs") baseName 'native­libs' from fileTree(dir: 'libs', include: '**/*.so') into 'lib/'}tasks.withType(JavaCompile) { compileTask ­> compileTask.dependsOn(nativeLibsToJar)}
  • 然后在编译片段添加:
implementation fileTree(dir: "$buildDir/native-libs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值