`

Android环境下安装openCV

 
阅读更多

今天因为课题的关系需要在安卓上安装openCVC环境,但是参考网上很多教程都不够齐全,下面主要参考了一下两个教程进行配置,两个教程各有互补,然后对我的整个安装过程做个说明

 

这篇文章完全参考自一下参考链接:

比较全的安装:http://blog.csdn.net/pwh0996/article/details/8957764/

NDK安装:http://jingyan.baidu.com/article/5d6edee22d908799eadeec9f.html

 如果在安装过程中有什么问题可以留言,也可以直接看上述博客

 

 

准备工具:

操作系统:window7 64位

Java版本:java8 64位

eclipse:eclipse for J2ee

android SDK 

Android NDK r8

opencv for android 3.0.0

 

一,Java以及Android环境搭建

Java步骤:

1,安装JAVA JDK 我是装的Java 8当然Java7也是可以的

2,配置环境变量:

      设置 JAVA_HOME 为JDK的安装目录 如我的目录是 D:\Program Files\Java\jdk1.8.0_65

      在环境变量path中加入 %JAVA_HOME%\bin 注意需要在前面加上分号

      Java7及其以上的不要配置classpath,也可以配置classpath为点号 . (点号表示当前目录)

3,在cmd中输入 javac-version如果配置成功则会出现你的JDK版本信息

 

二, Android环境搭建(我是基于eclipse+ADT+AndroidSDK搭建的)

1,安装android SDK

                 在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。

  • 运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force https://..."这项,再点击Available Packages 。
  • 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包
  • 在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\AndroidDevelop\android-sdk-windows\tools)。


  •  
  • 在cmd中输入 andriod -h检测是否安装成功,成功会有android安装信息显示

        2,安装ADT插件

              我是使用ADT在线安装,比较方便,具体方法是 在eclipse中依次打开:

              Help->Install new software

              然后在work with框的右侧点击 ADD,如下图配置

             
              
             点击确认之后会出现

              
             
              注意不要勾选update all 那一项,否则会在安装过程中卡很久,接下来就下一步下一步就行了,安装完成中后重新打开eclipse即可

        3,完成之后:

  • 选择Window > Preferences...
  • 在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为: 
    D:\AndroidDevelop\android-sdk-windows
  • 点击Apply、OK。配置完成

        4,创建android avd 虚拟机,这个比较简单,可自行百度

 

 

         三,NDK环境搭建

        最新的NDK(r7及其以上)已经内置了cygwin,也不用去装CDT,会非常方便,具体步骤如下:

         1,下载NDK 下载链接为:http://developer.android.com/tools/sdk/ndk/index.html

        2,打开Eclipse,点Window->Preferences->Android->NDK,设置NDK路径,例如我的是的是D:\Android\AndroidEnvir\android-ndk-r8



            
               

        

      四,android openCV环境搭建

             这一段参考自  http://blog.csdn.net/pwh0996/article/details/8957764/

             1,进入官网(http://opencv.org/)下载OpenCV4Android并解压,其目录结构如下:

            
              

           其中,sdk目录即是我们开发opencv所需要的类库;samples目录中存放着若干opencv应用示例(包括人脸检测等),可为我们进行android下的opencv开发提供参考;doc目录为opencv类库的使用说明及api文档等;而apk目录则存放着对应于各内核     版本的OpenCV_2.4.3.2_Manager_2.4应用安装包。此应用用来管理手机设备中的opencv类库,在运行opencv应用之前,必须确保手机中已经安装了OpenCV_2.4.3.2_Manager_2.4_*.apk,如何安装apk到虚拟机见(http://jingyan.baidu.com/album/19020a0a253302529d284213.html?picindex=1,需要说明的是有时候会出现那个Open CV  was not initialed correctly,在那个apk包中多试几个apk就行了否则opencv应用将会因为无法加载opencv类库而无法运行。

 

        2,将SDK引入到工作空间

        和传统的eclipse引入工程一样,将opeCV目录下的sdk项目引入到eclipse工作空间中。具体是:file->import->existing project into workspace然后选择openCVC的那个sdk项目

        注意:有时候这个引入的项目会因为android版本不一致导致错误,具体表现是代码中引入的android包全报错,解决的方法是 项目->右击->properties->android  然后勾选相应的版本即可

 

        3使用Java API开发android程序

        创建工程

        (1) 打开eclipse,创建android应用工程GrayProcess;

        (2) 将测试图像lss.jpg(图片自选)添加到资源目录res/drawable-hdpi中;

        (3) 在Package Explorer中选择项目GrayProcess,单击右键在弹出菜单中选择Properties,然后在弹出的Properties窗口中左侧选择Android,然后点击右下方的Add按钮,选择OpenCV Library 3.0.0并点击OK,操作完成后,会将OpenCV类库添加到GrayProcess的Android Dependencies中,如下图所示:



 

          
             

       项目代码:

       布局文件:

       

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <Button 
        android:id="@+id/btn_gray_process"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/str_proc"/>
    
    <ImageView
        android:id="@+id/image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/str_proc"/>

</LinearLayout>

  String.xml文件

 

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">GrayPorcess</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
	<string name="title_activity_main">MainActivity</string>  
    <string name="str_proc">gray process</string>  
    <string name="str_desc">image description</string>
</resources>

        

 

MainActivity.java文件

  

package com.luchi.grayporcess;



import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.Utils;
import org.opencv.core.Mat;
import org.opencv.imgproc.Imgproc;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Bitmap.Config;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity implements OnClickListener{

	private Button btnProc;
	private ImageView imageView;
	private Bitmap bmp;
	
	//OpenCV类库加载并初始化成功后的回调函数,在此我们不进行任何操作
	private BaseLoaderCallback  mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
                case LoaderCallbackInterface.SUCCESS:{
                } break;
                default:{
                    super.onManagerConnected(status);
                } break;
            }
        }
    };
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnProc = (Button) findViewById(R.id.btn_gray_process);
        imageView = (ImageView) findViewById(R.id.image_view);
        //将lena图像加载程序中并进行显示
        bmp = BitmapFactory.decodeResource(getResources(), R.drawable.lss);
        imageView.setImageBitmap(bmp);
        btnProc.setOnClickListener(this);
    }

	@Override
	public void onClick(View v) {
		Mat rgbMat = new Mat();
		Mat grayMat = new Mat();
		//获取lena彩色图像所对应的像素数据
		Utils.bitmapToMat(bmp, rgbMat);
		//将彩色图像数据转换为灰度图像数据并存储到grayMat中
		Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);
		//创建一个灰度图像
		Bitmap grayBmp = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.RGB_565);
		//将矩阵grayMat转换为灰度图像
		Utils.matToBitmap(grayMat, grayBmp);
		imageView.setImageBitmap(grayBmp);
	}
	
	@Override
    public void onResume(){
        super.onResume();
        //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是
        //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存在于OpenCV安装包的apk目录中
        OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
    }
}

 
 运行结果:

 

 

 

至此就完成了android openCV环境的搭建
 

  • 大小: 57.9 KB
  • 大小: 69.6 KB
  • 大小: 51.3 KB
  • 大小: 36.7 KB
  • 大小: 13.1 KB
  • 大小: 48.7 KB
  • 大小: 140.4 KB
  • 大小: 99.2 KB
分享到:
评论

相关推荐

    opencv-4.4.0-android-sdk.zip opencv Android版官网下载

    在`OpenCV-android-sdk\samples`目录下,OpenCV提供了一些示例应用,这些应用展示了如何在Android上使用OpenCV进行实际的图像处理任务。比如,`FaceDetection`示例演示了如何检测图像中的面部,而`TessTwo`则展示了...

    opencv for android官方教程.docx

    在大多数情况下,OpenCV Manager 将自动从 Google Play 安装。如果 Google Play 不可用,例如在模拟器或开发板上,可以使用 adb 手动安装。 三、OpenCV 库的安装 OpenCV 库的安装非常简单。您可以按照以下步骤安装...

    opencv-4.6.0-android-sdk.zip

    总的来说,OpenCV-4.6.0-android-sdk.zip为Android开发者提供了一个全面的环境,使他们能够利用强大的计算机视觉功能开发创新的应用程序,如增强现实、图像识别、安全监控等。通过深入研究和实践,开发者可以充分...

    Android studio opencv环境配置及边缘检测实例

    Android Studio 中 Opencv 环境配置及边缘检测实例 Opencv 是一个计算机视觉库,提供了大量的图像处理和计算机视觉算法,广泛应用于图像处理、机器人视觉、目标检测等领域。 Android Studio 是一个集成开发环境,...

    android opencv人脸检测

    1. 配置环境:安装Android Studio,设置NDK路径,添加OpenCV库到项目中。 2. 创建JNI层:编写C++代码实现OpenCV的功能,如人脸检测。 3. 绑定JNI函数:在Java层创建对应的函数接口,使得Java代码能调用C++函数。 4. ...

    ANDROID下开发opencv

    ### ANDROID下开发OpenCV #### 一、准备工作(Chapter1:Getting Yourself Ready) 在开始Android平台上的OpenCV开发之前,我们需要确保环境已经准备好。这一章主要介绍了如何配置开发环境,包括安装必要的软件和工具...

    opencv androidstudio开发

    通过以上步骤,我们可以成功地在Android Studio中配置好OpenCV环境,并能够利用OpenCV提供的功能进行图像处理和计算机视觉相关的开发工作。这对于开发者来说是非常重要的技能之一,尤其是在需要处理复杂图像数据的...

    Android上使用OpenCV打开摄像头源码

    在这个项目中,我们将探讨如何在不依赖OpenCV Manager的情况下,在Android应用中直接集成OpenCV并开启摄像头。 首先,为了在Android项目中使用OpenCV,你需要将OpenCV的Android SDK导入到你的项目中。这通常通过...

    android下的openCV人脸检测使用例程

    虽然这个例程没有提供完整的源代码,但通过以上描述,我们可以了解到如何在Android环境下使用OpenCV进行人脸检测和识别的基本步骤。对于初学者,这是一个很好的起点,可以从中学习如何结合Android和OpenCV技术来实现...

    基于Android+OpenCV的运动目标检测

    首先,要理解Android平台上的开发环境配置。Android Studio是开发Android应用的主要工具,我们需要将OpenCV库集成到项目中。这通常涉及到下载OpenCV的Android SDK,创建一个新的Android工程,并通过Gradle依赖管理将...

    androidNDK调用opencv

    - **工具准备**:首先确保已安装Eclipse集成开发环境、Cygwin(用于执行Linux风格的命令行操作)以及android-ndk。 - **下载OpenCV库**:访问OpenCV官方网站http://opencv.org/downloads.html,下载适合Android...

    android studio opencv环境搭建小案例

    本文将详细介绍如何在Android Studio项目中搭建OpenCV环境,并通过一个小案例来演示具体的应用。 首先,我们需要了解OpenCV是什么。OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了众多用于...

    Android使用opencv拼接图片

    在Android平台上,OpenCV是一个强大的计算机视觉库,它允许开发者执行复杂的图像处理任务,包括图像识别、特征检测、图像拼接等。在这个场景中,我们要讨论的是如何利用OpenCV来识别两张图片的相同区域,并进行去重...

    基于Java的Android OpenCV安装配置及人脸识别源码

    1. 完整介绍基于Java的Android OpenCV环境配置 2.实现人脸识别 参考博客:https://blog.csdn.net/weixin_38346042/article/details/124015488?spm=1001.2014.3001.5502

    Android 调用opencv camera

    接下来,我们需要初始化OpenCV环境。在Android应用的入口类(通常是`Application`的子类)中添加以下代码: ```java public class MyApplication extends Application { @Override public void onCreate() { ...

    VLC for Android 基于 Opencv 对 RTSP视频 实时人脸检测

    在Android环境中,需要考虑性能优化,如使用异步处理避免阻塞UI线程,以及合理管理内存,防止因频繁图像处理导致的内存泄漏。 总结,"VLC for Android 基于 Opencv 对 RTSP视频 实时人脸检测"是一个结合了多媒体流...

    Python OpenCV安装教程

    在这个Python 3.7.2和OpenCV的安装教程中,我们将探讨如何在最新版本的Python环境下正确安装和使用OpenCV。 首先,确保你已经安装了Python 3.7.2。如果还没有,可以访问Python官方网站下载并按照指南进行安装。安装...

    Android下ffmpeg+opencv开发模板(Eclipse版本)

    要在Android下从事音视频开发,绕不开ffmpeg+opencv,不管是初学者还是有一定经验的程序,面临的首要问题就是环境的搭建和库文件的编译配置等问题,特别是初学者,往往会在实际开发前浪费大量的时间来编译ffmpeg及...

Global site tag (gtag.js) - Google Analytics