iphone camerOverlay для использования с приложениями Alternate Reality - PullRequest
9 голосов
/ 30 июля 2009

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

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

Существует открытая библиотека простая обработка изображений для iphone. Демонстрация показывает пример фотографирования оригинальной фотографии (доски судоку) и последующего наложения обнаруженного объекта на оригинальную фотографию.

Они объясняют некоторые из методов высокого уровня в своем блоге .

Ответы [ 2 ]

3 голосов
/ 06 августа 2009

OpenCV делает наложения изображений удивительно простыми, и он был перенесен на iPhone . С помощью OpenCV вы можете делать снимки экрана по своему усмотрению или обрабатывать изображения в прямом эфире по одному кадру за раз. Взгляните на некоторые учебные программы, они действительно полезны.

1 голос
/ 19 октября 2010

Существует свойство 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;
...