【人脸识别】Android Studo+OpenCV实现人脸检测笔记(一)

开发环境:Window7与Window10都可以
安装:Android Studio3.0,OpenCV3.2

1.导入OpenCV 人脸检测模块 face-detection(Eclipse项目),解决报错问题。
①更改gradle-wrapper.propreties中的gradle版本。
②更改build.gradle中的compileSdkVersion,minSdkVersion,targetSdkVersion,以及buildToolsVersion。
2.gradle.propreties 中添加 android.useDeprecatedNdk=true
3.配置NDK路径 ndk.dir=D\:\\soft\\Android\\android-ndk-r16b
4.在app的build.pradle中添加

sourceSets.main {
    jni.srcDirs = ['libs']
}

5.修改项目jni下的Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

#注释打开,设置为on
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED

#opencv的路径
include D:\soft\Android\OpenCV-android-sdk\sdk\native\jni\OpenCV.mk

LOCAL_SRC_FILES  := DetectionBasedTracker_jni.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_LDLIBS     += -llog -ldl

LOCAL_MODULE     := detection_based_tracker

include $(BUILD_SHARED_LIBRARY)

7.修改项目jni下Application.mk

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a armeabi #要生成的so文件
APP_PLATFORM := android-14 #最小版本

6.复制opencv\sdk\native下的libs(可以只选择需要的),放到main目录下,改文件夹名为 jniLibs
7.根据jni生成so,jni目录下有h和cpp文件,这里面就实现了检测的相关代码,这里我们并不需要动。除非改包名,那么就要做相应的修改。直接进入到项目jni下 ndk-build 来生成so文件。(这里要注意,要设置ndk的环境变量以及项目中ndk的路径,还有ndk-build的快捷键)
jni目录右击选中external tool下的ndk-build。(如果没有以上步骤,是没有此选项的)
7.jni目录右击选中运行external tool下的ndk-build。(需要设置ndk-build快捷键)。ndk-build成功,将obj下的so文件复制到libs对应的版本下面。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Visual Studio中实现人脸识别,你可以使用Python和OpenCV库。首先,确保你已经安装了Visual Studio和Python支持组件。如果没有安装Python支持组件,你可以按照Microsoft的官方文档进行安装\[2\]。接下来,你需要安装OpenCV库。你可以使用pip命令在命令行中运行以下命令来安装OpenCV: ``` pip install opencv-python ``` 安装完成后,你可以在Visual Studio中创建一个新的Python文件,并导入OpenCV库。然后,你可以使用OpenCV人脸识别功能来实现人脸识别。以下是一个简单的示例代码: ```python import cv2 # 加载人脸识别模型 face_cascade = cv2.CascadeClassifier('path/to/haarcascade_frontalface_default.xml') # 读取图像 image = cv2.imread('path/to/image.jpg') # 将图像转换为灰度图像 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 检测人脸 faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) # 在图像上绘制人脸框 for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) # 显示结果图像 cv2.imshow('Face Detection', image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个示例中,我们使用了OpenCV的`CascadeClassifier`类来加载人脸识别模型,并使用`detectMultiScale`方法来检测图像中的人脸。然后,我们使用`rectangle`函数在图像上绘制人脸框。最后,我们使用`imshow`函数显示结果图像。 请注意,你需要将代码中的路径替换为你自己的图像和模型文件的路径。希望这个示例能帮助你在Visual Studio中实现人脸识别。\[1\] #### 引用[.reference_title] - *1* [visual studo 2022中使用Opencv人脸检测](https://blog.csdn.net/Keep_Trying_Go/article/details/124903134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [人脸识别打卡项目(5)](https://blog.csdn.net/weixin_54822781/article/details/126568540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值