• 精品教程Android中通过NDK使用OpenCV库


     

    下载源码

     

    1. 准备工作

    (1) 搭建NDK环境

        需要安装Eclipse、Cygwin和android-ndk

    (2) 下载OpenCV库

         这里采用的是OpenCV版本是2.3.1,注意这里为下载Android版的OpenCV库

          http://opencv.org/downloads.html

    (3)需求

            从sdcard中读出一张图片,然后保存为另外格式的图片

     

    2. OpenCV库的介绍

        OpenCV全程open source computer vision library.是Intel开发的一个计算机视觉库,

    包含了多种计算机图形图像处理的库,主要用于图像处理、计算机视觉、模式识别、物体识别(人脸识别,Object识别)和运动跟踪等

    1. OpenCV与Android项目的部署

           (1) 解压OpenCV库

         

         (2) 将解压的OpenCV库放到工作目录(具体位置自定义),比如:

          (3) 建立项目的工作目录,这里设置工作目录为:OpenCV

     

     

      注意: 项目工程目录与OpenCV库需要保证属于同一级目录

      (4) 在工作目录OpenCV下,新建Android项目:OpenCV_Example

    4. NDK调用OpenCV库

    (1) 在Android项目中建立JNI目录

    (2) 建立.h文件

     通过命令行,生成public native void OpenCV_ConvertImage()方法的头文件.然后将头文件拷贝到jni目录

     (3) 根据.h文件,在jni目录,新建编写.cpp文件

    (4) 配置Android.mk文件

        我们可以从OpenCV所带的例子中拷贝该文件到我们工程中。只需要修改LOCAL_MODULE和LOCAL_SRC_FILES,改成自己的cpp文件名字和模块名字

     注意:

     ../includeOpenCV.mk为相对路径,此文件 OpenCV自带例子中有,我们将该文件拷贝过来,和我们的工程文件放在同一级目录.目录结构如下:

     (5) 配置 Application.mk文件

      该文件主要是对STL库的一些选择;APP_ABI是生成相应硬件平台的机器码. APP_MODULES需要与Android.mk文件中对应

      (6) 拷贝库相关文件到目录

     注意:如果不拷贝此库的相关文件到目录,在生成库文件时会出现错误

      (7) 编译.cpp文件,生成库文件

            打开cygwin软件,进入到项目目录,然后执行$NDK/ndk-build目录进行编译

      到此为止,已经成功生成了库文件

    1. 在Android中调用库文件

    1. 运行效果如下:

  • 相关阅读:
    hdu 1873 看病要排队
    母函数详解
    【RDMA】无损网络和PFC(基于优先级的流量控制)
    图解Linux网络包接收过程
    结对编程 <==> 断背山?
    CMPP和SMPP协议比较
    Berkerly DB、SQL Server的性能比较
    使用Berkeley DB遇到问题了
    重新学习C语言
    超长短信的处理办法
  • 原文地址:https://www.cnblogs.com/love1025/p/2759852.html
Copyright © 2020-2023  润新知