2009-07-29 11 views
9

Кто-нибудь знает способ сделать снимок, снятый на камеру iphone, и выполнить некоторую обработку изображения (например, обнаружение края, скелет), а затем наложить части обработанного изображения на оригинал изображение (например, только выделенные края).iphone camerOverlay для использования с приложениями Alternate Reality

В общем, как создать UImage с прозрачностью (я просто масштабирую изображение и накладываю его на альфа-значение, делает UIImage поддержкой прозрачности, например, gifs). Я думаю, что вы могли бы объединить UIImagePickerController с фоновым потоком, который takes "screenshots" представления UIImagePickerController, и выполняет обработку изображения на нем, чтобы обнаруживать различные объекты и предоставлять отображение дополненной реальности.

Существует открытый код simple image processing library для iphone. demo shows an example с оригинальной фотографией (платы судоку), а затем наложение обнаруженного объекта на исходную фотографию.

Они объясняют некоторые из high-level techniques on their blog.

ответ

3

OpenCV делает наложения изображений замечательно простыми, и это было ported to the 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; 

 Смежные вопросы

  • Нет связанных вопросов^_^