Android 多人脸贴图 1. 效果图 2. 前置条件1. 通过GLSurfaceView 以及自定义Render(OES纹理)绘制相机画面,同时创建FBO纹理,用于进行贴图 2. 同时通过ImageReader读取相机原画面,传入人脸关键点识别,获取关键特征点 3. 人脸关键点以及偏转角度计算3.1 选取关键点,计算顶点坐标 我们可以选取人脸特点中具备对称的2个点。出现头部方向旋转时,可以通过这两个点来计算出头 2022-01-14 OpenGLES Android Shader OpenGLES
开发Android_Camera_App 1.CameraAPP 1.0.1 版本1.交互区域1.1 单个人 脸区域美颜 1.2 多人头部贴图功能 1.3 单个人 大眼功能 2.保存图片 2022-01-08 Android Camera2 APP APP
编译dlib For Android 1. Dlib基础偶然看到dlib中有个模块可以对人脸进行68个标记,所以在github上寻找可以在Android平台使用的库。参照[Luca96/android-face-landmarks]已经实现,通过对编译脚本,JNI接口调整,以及对OpenCV 头文件依赖的版本修改,实现了将dlib 19.16 +OpenCV4.5.2整合,同时可以单独编译成library. 已实现工程结构如 2022-01-08 FaceLandmark OpenCV FaceLandmark
编译SeetaFace人脸5个关键点库 1. 背景疫情期间,歇业在家,偶遇github工程,便将其调整单独的Android的library库,调整JNI层接口以及内部方法实现。 工程结构图硬件:Huaiwe Mate 20 Pro 前置摄像头软件:Camera2+SeetaFaceAlignment+OpenCV 2. 调整Cmake编译环境以及构建脚本借鉴于OpenCV FaceDetection,调整Cmake编译脚本,引入Ope 2022-01-08 FaceLandmark OpenCV SeetaFace
OpenCV FaceDetector 人脸检测 1. OpenCV For AndroidOpenCV 官网地址 https://opencv.org/releases/ ,提供了Android 平台使用的SDK SDK For Android 均包含在官方提供的opencv moudle中。 2. 官方例子face-detection(仅分析Native实现)2.1 face-detection 默认使用了opencv Camera1 (o 2022-01-07 OpenCV OpenCV
OpenGLES_FBO使用 基本知识 1. Android系统默认渲染器 OpenGL,系统启动时,经过BootLoader启动,kernel启动---->init进程启动核心进程(ServiceManager,zygote,OpenGL)---->播放开机动画 OpenGL渲染管线的最后一个阶段就是帧缓冲区(FrameBuffer) 2. OpenGL渲染管线的最后阶段FrameBuffer 2022-01-07 OpenGLES Android Shader OpenGLES
Camera2+GlSurfaceView 基本概念:屏幕方向 ScreenOrientation:0度使用Android的GLSurfaceView显示时,得出结论:摄像头后置:摄像头ID “0”Surface.ROTATION_0 画面需要逆时针旋转90度,同时调整GLSurfaceView的显示比例Surface.ROTATION_90 画面方向无需处理Surface.ROTATION_180 画面方向无需处理Surface.R 2022-01-07 Android Camera2 OpenGLES ImageReader Camera2
java_String源码学习 1. Char1. String 底层实现为 char[]----->private final char value[]//char[] 数组 2. String类为final类,也就是无法通过子类去继承。(final修饰的方法无法复写) 2. String2.1 String 实现了接口列表 1.1 java.io.Serialliable 序列化 1.2 Compara 2020-12-15 Java源码 Java源码
Java集合结构学习 源码类图 源码学习1.List1.1 Vector 在线查看 Vector实现是数组,默认空构造方法长度为10,也可以根据传入initialCapacity 12345678910111213public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity & 2020-12-13 Java源码 Java源码
Hexo+Github+fluid搭建 Hexo+Github+fluid搭建记录主体流程1.Github 注册账号,创建”*.github.io”的仓库2.安装Node.js后,使用npm install hexo3.修改默认theme为fluid 需要参考的链接GithubNode.jsHexoFluid 创建博客的原因 一名Android开发 日常记录以上这些模块曾经已经整理详细学习记录(软件&硬件知识),希望在后续维护 2020-12-12 其他 工具使用记录