iPhone相机覆盖层用于替代现实应用程序

9

有没有人知道如何对iphone相机拍摄的图像进行一些图像处理(例如边缘检测、骨架化),然后将处理后的图像的部分叠加在原始图像上(例如仅突出显示的边缘)。

更普遍地说,我如何创建一个带有透明度的UImage(我只是缩放图像并使用alpha值叠加它,UIImage是否支持像gif一样的透明度)。我想你可以将UIImagePickerController与后台线程结合起来,takes "screenshots" UIImagePickerController视图,并对其进行图像处理以检测各种对象并提供叠加增强现实显示。

iphone有一个开源的simple image processing librarydemo shows an example 演示了如何对原始照片(数独板)进行处理,然后将检测到的对象叠加在原始照片上。

他们在博客上解释了一些高级技术

2个回答

3

OpenCV使图像叠加变得非常简单,它已经被移植到iPhone。使用OpenCV,您可以选择按照您的考虑进行截屏或逐帧对实时流进行图像处理。看看一些教程程序,它们真的很有帮助。


1

有一个 UIImagePickerController.overlayView 属性,您可能想要设置:

// Create a new image picker instance:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];

// Set the image picker source:
picker.sourceType = UIImagePickerControllerSourceTypeCamera;

// Hide the controls:
picker.showsCameraControls = NO;
picker.navigationBarHidden = YES;

// Make camera view full screen:
picker.wantsFullScreenLayout = YES;
picker.cameraViewTransform = CGAffineTransformScale(picker.cameraViewTransform, 1, 1.12412);

// Create an overlay view
// this might need to either 1) be transparent, or 2) be of the other dimensions
OverlayView *overlay = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, self.view.width, self.view.height)];

// Insert the overlay:
picker.cameraOverlayView = overlay;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接