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

2024-08-29 16:48

本文主要是介绍人脸矫正之人眼检测实例(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/1118421

相关文章

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio