人脸矫正之人眼检测实例(Android)

2024-01-19 20:30

本文主要是介绍人脸矫正之人眼检测实例(Android),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在做人脸识别的研究和开发,其中用的还是传统的支持向量机 ——SVM和特征提取方法 LBP(具有灰度不变形的优点)

在少量的数据下,传统的机器学习方法相对于现在比较热门的深度学习算法有一定的优势,比如计算速度等。

其中的SVM我使用的是台湾大学的LIBSVM的开源项目,这个开源项目是很经典而且很实用。
对于非端对端的学习,一个好的分类问题,需要的就是提取最有价值的特征,那么如何更好的使用LBP和对图片的预处理是至关重要的。

那么,对于LBP算法,我对他进行了改进,依照的是很多论文中的改进算法,通过做了很多的实验,也验证了对LBP算法改进的优势。

那么剩下的就是图片的预处理问题了,其中的最重要的步骤就是对人脸图片的归一化。

怎么进行归一化呢?

一般情况下我们先进行人脸检测,那么检测出的 人脸类似下图。

这里写图片描述

除了有些背景稍微大些之外,这已经算是很标准的人脸图了。

但是特殊情况

这里写图片描述

对这种情况我们该怎么办?

无疑,我们需要对图片进行旋转。

那么问题来了,改怎么旋转?
就引入了我们的题目,我们的方法如下:
通过人脸检测,找到双眼的位置,然后根据坐标,找到旋转角度,然后进行旋转。

下面我们介绍如何寻找人脸的位置。

方法一:

通过Opencv 自带的 CascadeClassifier类,然后使用自带的训练好的人眼模型。

这里写图片描述

核心代码(JAVA)如下:

detector2.detectMultiScale(eyeMat , eyeDetections  , 1.01 , 2 , 0

这篇关于人脸矫正之人眼检测实例(Android)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/623587

相关文章

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景