android人脸检测开发——基于opencv实现

 

 

 

 

opencv SDK下载 https://opencv.org/releases/

Android Development with OpenCV  https://docs.opencv.org/3.4.10/d5/df8/tutorial_dev_with_OCV_on_Android.html

https://docs.opencv.org/3.4.10/d9/d3f/tutorial_android_dev_intro.html

opencv教程 https://docs.opencv.org/3.4.10/d9/df8/tutorial_root.html

人及人脸检测 https://docs.opencv.org/3.4.10/d2/d64/tutorial_table_of_content_objdetect.html

人脸检测及跟踪效果:

 

    $ adb devices
    List of devices attached
    emulator-5554 device
    emulator-5555 device

    $ adb -s emulator-5555 install helloWorld.apk

 

需要了解的基本知识点:https://docs.opencv.org/3.4.10/d9/d3f/tutorial_android_dev_intro.html

  1. Java programming language that is the primary development technology for Android OS. Also, you can find Oracle docs on Java useful.
  2. Java Native Interface (JNI) that is a technology of running native code in Java virtual machine. Also, you can find Oracle docs on JNI useful.
  3. Android Activity and its lifecycle, that is an essential Android API class.
  4. OpenCV development will certainly require some knowledge of the Android Camera specifics.

Android NDK

To compile C++ code for Android platform you need Android Native Development Kit (NDK).

You can get the latest version of NDK from the download page. To install Android NDK just extract the archive to some folder on your computer. Here are installation instructions.

Building application native part from command line

  1. Open console and go to the root folder of an Android application

    cd <root folder of the project>/

  2. Run the following command

    <path_where_NDK_is_placed>/ndk-build

Building application native part from Eclipse (CDT Builder)

 

 

=======================================================================

第2步:安装配置篇 OpenCV4Android SDK—— 下载、导入及配置opencv SDK,运行samples

https://docs.opencv.org/3.4.10/da/d2a/tutorial_O4A_SDK.html

概括:安装2个东西,(1)opencv android SDK,(2)OpenCV Manager 安装到手机或模拟器上

You can get more information here: Android OpenCV Manager and in these slides.

 

Connect your device with adb tool from Android SDK or create an emulator with camera support.

=======================================================================

第3步:开发篇 Android Development with OpenCV——调用opencv库开发

概况:编写自己的C++代码并调用opencv,配置2个文件(1)Application.mk(2)Android.mk,一个简单的hellow例程

https://docs.opencv.org/3.4.10/d5/df8/tutorial_dev_with_OCV_on_Android.html

需要安装的软件环境(如果基于eclipse)

方式1:推荐 Application Development with Async Initialization

Using async initialization is a recommended way for application development. It uses the OpenCV Manager to access OpenCV libraries externally installed in the target system.

方式2:Application Development with Static Initialization

According to this approach all OpenCV binaries are included into your application package. It is designed mostly for development purposes. This approach is deprecated for the production code, release package is recommended to communicate with OpenCV Manager via the async initialization described above.

 

Either use manual ndk-build invocation or setup Eclipse CDT Builder to build native JNI lib before (re)building the Java part and creating an APK.

 

The simplest OpenCV-centric application must implement OpenCV initialization, create its own view to show preview from camera and implements CvCameraViewListener2 interface to get frames from camera and process it.

 

总结:

使用OpenCV的Android接口,要想显示从摄像头输入的视频,可以使用CameraBridgeViewBase类,然后在public Mat onCameraFrame(CvCameraViewFrame inputFrame) 函数中使用代码:

     mRgba = inputFrame.rgba();//color frame
     mGray = inputFrame.gray();// gray frame

来得到摄像头视频的每一个frame,在这个函数中进行各种处理。最后return mRgba后就可以在界面上显示了
https://blog.csdn.net/wunghao8/article/details/38868281

 

 

参考资料:

Android中使用OpenCV(opencv4人脸检测源码demo分析的很细致!) https://www.jianshu.com/p/4871d3dee4fa

基于android studio开发的 opencv关于android人脸识别的DEMO(以贴图方式详细讲述了导入opencv sdk步骤,并给出了识别人脸图片的结果) https://blog.51cto.com/yangzheng0809/2173165

android opencv开发基础:从零开始实现人眼识别与变色(理论方面及流程讲的很清楚) https://blog.csdn.net/qq_35029531/article/details/103193349

Android—基于OpenCV+Android实现人脸检测https://www.cnblogs.com/numen-fan/p/10009425.html

android下OpenCV实现人脸检测既然如此简单 https://www.jianshu.com/p/3f076d65c2e6

opencv_3.4.1_android_sdk+android studio+人脸检测+人脸识别+人眼检测demohttps://download.csdn.net/download/hongtaoershi/10607396

Android中使用OpenCV检测人脸(Android studio版) https://blog.csdn.net/qq_35952946/article/details/79036909

Android 接入 OpenCV库的三种方式 https://www.cnblogs.com/xiaoxiaoqingyi/p/6676096.html

opencv在android平台下的开发【1】-android studio集成opencv-sdk https://www.jianshu.com/p/1dd3fc8f91b8

Android Camera动态人脸识别+人脸检测基于OpenCV(无需OpenCVManager)https://blog.csdn.net/qq_28931623/article/details/73528102

关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等

https://www.jianshu.com/p/f29ad4beef59

    defaultConfig {
        ndk {
            abiFilters "armeabi-v7a"
        }
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 人脸识别系统是一种利用计算机技术对人脸进行识别和验证的系统。其中,opencv人脸检测是一种基于opencv库的人脸检测算法,可以通过计算机视觉技术对图像或视频中的人脸进行检测和识别,具有高效、准确、实时等特点,广泛应用于安防、人机交互、智能家居等领域。 ### 回答2: 人脸识别系统是一种可以通过对人脸进行特征提取、比对和识别的技术,目前已广泛应用在生物特征识别、安防监控等领域。而OpenCV人脸检测是在计算机视觉领域中应用广泛的一种算法。 OpenCV是一个开源计算机视觉库,提供了很多图像处理和机器视觉算法,其中人脸检测OpenCV中应用最广泛的算法之一。OpenCV人脸检测的基本思路是利用Haar-like特征进行人脸检测。 Haar-like特征是一组由Viola和Jones在2001年提出的能够对图像进行分类的特征,主要由白色和黑色的矩形块组成。这些特征可以在人脸区域和非人脸区域产生显著的区别,因此可以用来进行人脸检测。在OpenCV中,利用Adaboost算法来训练分类器,从而实现人脸检测OpenCV人脸检测有以下几个优点: 1. 检测速度快:OpenCV人脸检测算法可以实现实时检测,能够处理实时视频,并对每一帧进行人脸检测。 2. 高检测率和低误检率:OpenCV人脸检测算法经过大量的训练和优化,能够准确地检测人脸,且误检率低。 3. 应用广泛:由于OpenCV是一个开源库,其特性与应用广泛,可以应用于不同领域的人脸检测。 4. 动态人脸识别:OpenCV人脸检测算法能够在不同角度、不同光照条件下对人脸进行检测和识别。 5. 简单易用:OpenCV提供了简单的API调用,即可完成人脸检测。同时,OpenCV还提供了丰富的文档和示例,使得人脸检测实现变得更加简单。 总之,OpenCV人脸检测算法是一种可靠的人脸检测技术,可以广泛应用于不同领域。通过不断地优化和训练,OpenCV人脸检测算法仍有望在未来得到进一步的提升。 ### 回答3: 人脸识别是一种高科技应用,它可以在不进行人工干预的情况下识别人们的身份。在过去的几年里,随着计算机技术的不断发展壮大,人脸识别技术得到了迅速的发展和应用。 Opencv人脸检测是一种常见的人脸识别技术,它可以快速、准确地检测人脸并提取出相关的数据信息。Opencv人脸检测使用基于统计学的模型,可以快速检索出整张图像中的所有人脸,并用边缘高亮标出。其识别空间包括面部区域,由眼睛、口鼻、眉毛和脸型等特征组成。而为了提高识别的准确度,Opencv人脸检测还涉及到其他一些算法,比如特征提取、人脸分类和智能识别。 Opencv人脸检测是非常重要的安全工具,它可以用于认证和安全访问控制、图像搜索和媒体应用。在计算机视觉和机器学习领域,Opencv人脸检测是重要的探究之一,因为对于如何解决图像多样性问题的机器人操作的研究而言,人脸检测是非常关键的。Opencv人脸检测还可以用于许多领域,如自然语言处理、光学字符识别等,进一步方便了计算机与人类之间的交流。 在未来,Opencv人脸检测技术有望得以发展与扩展,实现更加准确、精密的人脸识别,为广大人民群众的生产生活提供更多的便利与保障。诚然,Opencv人脸检测仅仅是人脸识别的一个小部分,但它在其中占有重要的地位,在此我们真诚地期待着Opencv人脸检测技术能够顺利地实现更深入的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值