0%

通过一个特定的AVCaptureOutput类型的AVCaptureMetadataOutput可以实现人脸检测功能.支持硬件加速以及同时对10个人脸进行实时检测.

当使用人脸检测时,会输出一个具体的子类类型AVMetadataFaceObject,该类型定义了多个用于描述被检测到的人脸的属性,包括人脸的边界(设备坐标系),以及斜倾角(roll angle,表示人头部向肩膀方向的侧倾角度)和偏转角(yaw angle,表示人脸绕Y轴旋转的角度).

本文的代码将在Kcamera中添加人脸识别功能.

阅读全文 »

设备的缩放效果是通过居中裁剪由摄像头捕捉到的图片来实现的.AVCaptureDevice提供了一个videoZoomFactor属性,用于控制捕捉设备的缩放等级.该属性最小值为1.0,即不能进行缩放.最大值由捕捉设备的activeFormat值决定,它是AVCaptureDeviceFormat的一个实例.这个类定义了活动捕捉格式的细节,其中就包括videoMaxZoomFactor.

本文将实现在Kcamera上实现视频缩放的功能.

阅读全文 »

AVCaptureDevice类可以修改摄像头的闪光灯和手电筒模式.后置摄像头旁的LED灯在拍摄照片时可以作为闪光灯,拍摄视频时可以用作连续灯光(手电筒).本文将实现这一功能.

阅读全文 »

本文将前文的继续Kcamera项目,并使用AVCaptureSession获取摄像头采集到的视频.但是实际的视频录制和照片拍摄将在后面的文章中才会实现.

阅读全文 »

在系统相机中,将模式切换到视频录制,点击录制按钮会有一个表明录制状态改变的形变动画,本节将实现这一个效果.实现效果图如下:

阅读全文 »

UIControl是UIView的子类,将用户的触摸事件转换为特殊的控件事件.例如通过UIControl对象处理后,按下按钮的事件就被封装成一个控件事件,而不用去判断触摸屏幕的整个操作过程。

本文将参照系统相机实现一个简单的相机模式的标签切换功能.实现效果如下图:

阅读全文 »