【例子介绍】camera人脸框识别demo
使用多种方式实现圆形预览
-
使用Camera API和Camera2 API并选择最接近正方形的预览尺寸
-
使用Camera API并为其动态添加一层父控件,达到正方形预览的效果
-
使用Camera API获取预览数据,使用OpenGL的方式进行显示
-
左侧使用1088x1088的分辨率,TextureView和GLSurfaceView的显示效果相同,均为正方形;
右侧使用1920x1080的分辨率,TextureView显示效果为长方形,GLSurfaceView显示效果为TextureView显示内容中心的正方形部分
【相关图片】
【源码结构】
.
├── GLCameraDemo-master
│ ├── PreviewSize_1088x1088.gif
│ ├── PreviewSize_1920x1080.gif
│ ├── app
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ │ ├── fragShader.glsl
│ │ │ └── vertexShader.glsl
│ │ ├── java
│ │ │ └── com
│ │ │ └── wsy
│ │ │ └── glcamerademo
│ │ │ ├── BaseActivity.java
│ │ │ ├── Camera2Activity.java
│ │ │ ├── CameraActivity.java
│ │ │ ├── CoverByParentCameraActivity.java
│ │ │ ├── GLCameraActivity.java
│ │ │ ├── HomeActivity.java
│ │ │ ├── camera
│ │ │ │ ├── CameraHelper.java
│ │ │ │ └── CameraListener.java
│ │ │ ├── camera2
│ │ │ │ ├── Camera2Helper.java
│ │ │ │ └── Camera2Listener.java
│ │ │ ├── util
│ │ │ │ └── ImageUtil.java
│ │ │ └── widget
│ │ │ ├── RoundBorderView.java
│ │ │ ├── RoundFrameLayout.java
│ │ │ ├── RoundTextureView.java
│ │ │ └── glsurface
│ │ │ ├── GLUtil.java
│ │ │ └── RoundCameraGLSurfaceView.java
│ │ └── res
│ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ ├── layout
│ │ │ ├── activity_glsurface.xml
│ │ │ ├── activity_home.xml
│ │ │ └── activity_main.xml
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── gray.gif
│ ├── readme.md
│ ├── sculpture.gif
│ └── settings.gradle
└── 5t6t网_GLCameraDemo-master.zip
27 directories, 54 files
评论