我在iOS中使用UIImagePickerControllerSourceTypeCamera
。我在使用相机之前的目的是引导用户将相机精确定位在图像对象的前面。我有一个已知的目标图像(TI),一张扑克牌,更具体地说是7颗钻石,我需要TI上的7位于相机前面的正确位置。有没有办法在用户拍摄照片时在屏幕顶部叠加TI,或屏蔽部分屏幕,以便只有7出现的位置才会显示要拍摄的照片。
正确定位相机后,我会要求用户保持相机静止不动,并在不看卡的情况下将未知卡放在相机前面。
答案 0 :(得分:1)
UIImagePickerController具有cameraOverlayView
属性,您可以为其分配自定义类的实例。此类可以绘制您需要的目标区域图形,它将显示在摄像机图像的顶部。
如果您需要检查该卡实际上在该区域内,那么您处于计算机视觉区域,事情变得更加复杂。 OpenCV是了解相机显示内容的典型起点。
cameraOverlayView
显示在默认图像选择器顶部的自定义视图 接口。 @property(非原子,保留)UIView * cameraOverlayView 讨论
您可以使用叠加视图在顶部显示自定义视图层次结构 默认图像选择器界面。图像选择器分层你的 自定义叠加视图位于其他图像选择器视图和 将其相对于屏幕坐标定位。如果你有 默认相机控件设置为可见,包含透明度 进入你的视图,或定位它以避免模糊底层 内容。