2009-07-29 12 views
9

Czy ktoś wie, jak zrobić zdjęcie zrobione aparatem iPhone'a i wykonać kilka operacji na obrazie (np. Wykrywanie krawędzi, szkieletowanie), a następnie nakładać części przetworzonego obrazu na oryginał obraz (np. tylko podświetlone krawędzie).iphone camerOverlay do użytku z aplikacjami Alternate Reality

Bardziej ogólnie, jak utworzyć UImage z przezroczystością (czy przeskaluję obraz i nałożę go na wartość alfa, czy UIImage obsługuje przezroczystość, jak w przypadku GIF-ów). Myślę, że można połączyć UIImagePickerController z wątkiem tła, który jest takes "screenshots" widoku UIImagePickerController i przetwarza obraz w celu wykrycia różnych obiektów i wyświetlania nakładki rozszerzonej rzeczywistości.

Dla iPhone'a jest open source simple image processing library. demo shows an example zrobienia oryginalnego zdjęcia (planszy sudoku), a następnie nałożenia na wykrytego obiektu na oryginalnym zdjęciu.

Wyjaśniają niektóre z high-level techniques on their blog.

Odpowiedz

3

OpenCV sprawia, że ​​nakładki obrazów są wyjątkowo proste i zostały oznaczone jako ported to the iPhone. Dzięki OpenCV możesz wybrać zrzuty ekranu, gdy rozważasz lub przetwarzasz obraz w strumieniu na żywo, po jednej klatce na raz. Rzuć okiem na niektóre z tutorialnych programów, są naprawdę pomocne.

1

Jest własności UIImagePickerController.overlayView może chcesz ustawić:

// 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; 
Powiązane problemy