9

有谁知道一种方法来拍摄在 iphone 的相机上捕获的图像,并进行一些图像处理(例如边缘检测、骨架化),然后将处理后的图像的一部分覆盖在原始图像上(例如仅突出显示的边缘)。

更一般地说,如何创建具有透明度的 UImage(我只是缩放图像并用 alpha 值覆盖它, UIImage 是否像 gif 那样支持透明度)。我认为您可以将 UIImagePickerController 与后台线程结合起来,该线程获取 UIImagePickerController 视图的“屏幕截图”并对其进行图像处理以检测各种对象并提供叠加的增强现实显示。

有一个适用于 iphone 的开源简单图像处理库。该演示展示了拍摄原始照片(数独板)然后将检测到的对象覆盖在原始照片中的示例。

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

4

2 回答 2

3

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

于 2009-08-06T18:20:39.540 回答
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;
于 2010-10-19T01:13:16.383 回答