OpenCV入门到入土

一、OpenCV2.4简介 <参考链接: http://blog.csdn.net/yanzi1225627/article/details/16917961
http://www.cnblogs.com/linguanh/p/4624768.html>

初步认识: OpenCV 可以运行在Linux、Windows 和 Mac OS等多个操作系统
opencv4android 是为了安卓而存在的。

二: 配置opencv的两种方法

        @Override
        public void onResume() {
              super.onResume();
              //开启下面这行,就是采用OpenCV Manager,需要安装一个apk
              //OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
              //使用下面采用的是将native下的所有放进Libs里面
              //此时app的build.gradle需要加入sourceSets {main { jniLibs.srcDirs = ['libs']}}
              if (!OpenCVLoader.initDebug()) {
                    OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_10, this, mLoaderCallback);
              } else {
                    mLoaderCallback.onManagerConnected (LoaderCallbackInterface.SUCCESS);
              }
         }
  1. 将sdk的nitive打包进app的libs里面,但是动态库的存在,工程变得很大

  2. 引入了OpenCV Manager,其本质就是一个Service,用来管理OpenCV动态链接库。它工作在APP和OpenCV的动态链接库之间。OpenCV Manager的结构就是模仿Android的Binder机制
    (这种方式太糟糕了,用户需要安装另一个apk)

三:难点
人脸检测、特征点定位归一化、人脸特征与识别模型,每一块都需要至少一个月时间,不熟悉的话,几个月也正常。

   1、Face detection 人脸识别,即识别出这是人的脸,而不管他是谁的。
   2、Face preprocessing 面部预处理,即提取出脸部图像。
   3、Collect and learn faces 脸部的特征采集和学习
   4、Face recognition 脸部识别,找出最相近的相近脸部图像。

四: 把握

  1. Core类:对矩阵的进行基本运算(加减乘除等)的一些函数

             OpenCV基本数据结构
             动态数据结构
             绘图函数
             数组操作相关函数
             辅助功能与系统函数和宏
             与OpenGL的互操作
    
  2. Mat类:
    Bitmap和Mat互相转换:Utils.bitmapToMat Utils.matToBitmap

你可能感兴趣的:(OpenCV入门到入土)