-
10、AV Foundation之视频捕捉-简单人脸识别
文章摘抄自:https://www.jianshu.com/nb/13168678,用于记录学习目录 简单人脸识别简单人脸识别一、图层#import "THPreviewView.h"@interface THPreviewView ()@property(nonatomic,strong)CALayer *overlayLayer;@property(strong,nonatomic)NSMutableDictionary *faceLayers;@property(nonatom...…
-
9、AV Foundation之视频捕捉-二维码识别
文章摘抄自:https://www.jianshu.com/nb/13168678,用于记录学习目录 前言 代码实现前言一、简介AV Foundation 魅力远不止做一个系统相机或做一个简单播放器。那我们今天在AV Foundation的媒体捕捉的基础上,来尝试做一次延伸。AV Foundation 支持对动态识别,不仅可以做人脸识别,也可以识别机器可读代码。AV Foundation 在识别这一块有硬件加速器。所以可以同时扫描10张人脸或机器码。iOS原生识别二维码:CIDet...…
-
8、AV Foundation之视频捕捉-视频捕捉
文章摘抄自:https://www.jianshu.com/p/09e3d6cb9864,用于记录学习目录 前言 视频捕捉前言视频内容的捕捉。当设置捕捉会话时,添加一个名为AVCaptureMovieFileOutput的输出。这个了定义了方法将QuickTime 影片捕捉到磁盘。这个类大多数核心功能继承于超类AVCaptureFileOutput.这个超类定义了许多实用功能。比如录制到最长时限或录制到特定文件大小时为止。还可以配置成保留最小可用的磁盘空间。这一点在存储空间有限的移...…
-
7、AV Foundation之视频捕捉-拍摄静态图片
文章摘抄自:https://www.jianshu.com/p/3d5565f65db3,用于记录学习目录 前言 捕捉静态图片 使用ASSets Library框架前言回顾一下,我们在setupSession:方法中,将一个AVCaptureStillImageOutput实例添加到捕捉会话。这个类是AVCaptureOutput 的子类,用于捕捉静态图片。创建一个会话并添加捕捉设备输入&捕捉输出时,会话自动建立输入和输出的连接,按需选择信号流线路。访问这些连接在一些情况...…
-
6、AV Foundation之视频捕捉-调整闪光灯&手电筒模式
文章摘抄自:https://www.jianshu.com/p/2b792812f17e,用于记录学习目录 前言 方法实现前言AVCaptureDevice 类可以让开发者修改摄像头的闪关灯&手电筒模式。设备后面的LED灯当拍摄静态图片时作为闪光灯,而当拍摄视频时用作连续灯光(手电筒)。捕捉设备的flashMode和 touchMode 属性可以被设置为以下3个值中的一个:AVCapture(Torch/Flash)ModeOn: 闪关灯/手电筒总是开启AVCapture(...…
-
5、AV Foundation之视频捕捉-配置捕捉设备
文章摘抄自:https://www.jianshu.com/p/2b792812f17e,用于记录学习目录 前言 点击聚焦方法的实现 点击曝光的方法实现 重新设置对焦&曝光前言AVCapture Device 定义了很多方法,让开发者控制ios设备上的摄像头。可以独立调整和锁定摄像头的焦距、曝光、白平衡。对焦和曝光可以基于特定的兴趣点进行设置,使其在应用中实现点击对焦、点击曝光的功能。 还可以让你控制设备的LED作为拍照的闪光灯或手电筒的使用 每当修改摄像头设备时,...…
-
4、AV Foundation之视频捕捉-切换摄像头
文章摘抄自:https://www.jianshu.com/p/f61732835e6b,用于记录学习目录 简介 实现简介基本上ios设备都具备有前置&后置两个摄像头。接下来开发的功能是让用户在摄像头之间进行切换。当然,这个知识点除了能在我们所做的这个demo上使用。在我们的开发项目中也是运用的很平常的实现一、摄像头支撑的方法#pragma mark - Device Configuration 配置摄像头支持的方法- (AVCaptureDevice *)camera...…
-
3、AV Foundation之视频捕捉-创建捕捉控制器
文章摘抄自:https://www.jianshu.com/p/67c32aece62d,用于记录学习目录 THCameraController类中实现 处理隐私需求THCameraController类中实现一、用于配置不同的捕捉设备,同时对捕捉的输出进行控制和交互。#import <AVFoundation/AVFoundation.h>extern NSString *const THThumbnailCreatedNotification;@protocol T...…
-
2、AV Foundation之视频捕捉-创建预览视图
文章摘抄自:https://www.jianshu.com/p/28253f327f7a,用于记录学习目录 前言 创建预览视图 坐标空间转换 总结前言在讲述AV Foundation框架之媒体捕捉。我将用一个小案例来开始整个知识点的引导以及疏通。我就不一一赘述相关的UI实现了。关于UI搭建部分,同学们可以在本篇文章末尾拿到百度网盘分享。你就可以在这个基础上进行编码了。创建预览视图下图是项目的用户界面的组成图示。我们把重点放在中间层THPreview View的实现上。因为它直接...…
-
1、AV Foundation之视频捕捉-关键概念
文章摘抄自:https://www.jianshu.com/p/8c5c150dba65,用于记录学习目录 捕捉功能综述捕捉功能综述AV Foundation 照片和视频捕捉功能是从框架搭建之初就是它的强项。 从iOS 4.0 我们就可以直接访问iOS的摄像头和摄像头生成的数据(照片、视频)。目前捕捉功能仍然是苹果公司媒体工程师最关注的领域。 核心的捕捉类在iOS 和 OS X上是一致的。除了Mac OSX 为截屏功能定义了AVCaptureScreenInput 类。但iOS上由于...…
-
20、GLSL灰度马赛克等滤镜
目录 灰度 颠倒 旋涡灰度一、shader.vshattribute vec4 Position;attribute vec2 TextureCoords;varying vec2 TextureCoordsVarying;void main (void) { gl_Position = Position; TextureCoordsVarying = TextureCoords;}二、shader.fshprecision highp float;uniform sam...…
-
19、GLSL分屏滤镜
目录 顶点着色器 片元着色器顶点着色器shader.vshattribute vec4 Position;attribute vec2 TextureCoords;varying vec2 TextureCoordsVarying;void main (void) { gl_Position = Position; TextureCoordsVarying = TextureCoords;}片元着色器一、正常纹理precision highp float;uniform s...…
-
18、GLSL粒子效果(下)
目录 粒子效果粒子效果待整理…. 行者常至,为者常成!…
-
17、GLSL粒子效果(上)
目录 粒子效果粒子效果待整理…. 行者常至,为者常成!…
-
16、GLSL光照计算(下)
目录 顶点着色器 片元着色器顶点着色器一、shaderV.shader文件#version 300 eslayout(location = 0) in vec3 position; //顶点layout(location = 1) in vec3 normal; //法向量layout(location = 2) in vec2 texCoord; //纹理坐标uniform mat4 view;uniform mat4 projection;out vec3 outNorm...…
-
15、GLSL光照计算(上)
目录 光照计算光照计算原理,待整理…光照计算 行者常至,为者常成!…
-
14、GLSL语法与索引绘图
目录 基本图形硬件流⽔线设计 GPU与CPU关系 GLSL语法 索引绘图基本图形硬件流水线设计应⽤程序层 -> 硬件抽象层 -> 硬件层一、应⽤层:游戏和应⽤层软件开发⼈员为主体,通过调用API进行上层开发,不需要考虑移植性问题应⽤程序层主要与内存,CPU打交道,诸如碰撞检测,场景图监理,视锥裁剪等经典算法在此阶段执⾏。在阶段的末端,几何体的数据(顶点坐标,法向量,纹理坐标,纹理)等通过数据总线传送到图形硬件二、硬件抽象层:抽象出硬件的加速功能,进⾏有利于应用层开发的封...…
-
13、GLSL图片加载(下)
目录 加载shader 编译shader 从图片加载纹理 纹理翻转 精度限定符加载shader//加载shader-(GLuint)loadShaders:(NSString *)vert Withfrag:(NSString *)frag{ //1.定义2个零时着色器对象 GLuint verShader, fragShader; //创建program GLint program = glCreateProgram(); //2.编译顶点...…
-
12、GLSL图片加载(上)
目录 图片加载的流程 FrameBuffer与RenderBuffer 着色器程序 绘制图片加载的流程-(void)layoutSubviews{ //1.设置图层(绘制表面及颜色缓冲区格式选择) [self setupLayer]; //2.设置图形上下文(context上下文设置 状态机) [self setupContext]; //3.清空缓存区 [self deleteRenderAndFrameBuffer]; ...…
-
11、GLSL初探
目录 名词解释 GLSL流程 数据类型名词解释一、VAOVAO的全称是vertex array object 顶点数组对象,存在与内存中。二、VBOVBO的全称是vertex buffer object 顶点缓存对象,存在于GPU缓存区三、shadershader着色器程序,可以使用普通字符串来存储,这个没有任何问题,只是不便于阅读和书写。也可以是用文件来存储,文件后缀可以任意取,一般以vsh、fsh、glsl作为文件后缀,如:shader.vsh:顶点着色器程序文件(vertex ...…