2009-07-29 22 views
9

iPhone'un kamerasında çekilen bir görüntüyü çekmenin ve görüntü işleme (ör: kenar algılama, skeletleştirme) gerçekleştirmenin bir yolunu biliyor ve sonra işlenen görüntünün parçalarını orijinalin üzerine yerleştiriyor görüntü (örneğin sadece vurgulanan kenarlar).iphone camerArado Gerçeklik uygulamalarıyla kullanım içinOlayback

Daha genel olarak şeffaf bir UImage nasıl oluşturabilirim (yalnızca görüntüyü ölçeklendirir ve alfa değeriyle kaplar mıyım? UIImage, gif'ler gibi saydamlığı destekler). UIImagePickerController'ı UIImagePickerController görünümünün takes "screenshots" görünümünün arka plan iş parçacığıyla birleştirebileceğinizi ve çeşitli nesneleri algılamak ve bir overlay artırılmış gerçeklik görüntüsü sağlamak için görüntü işleme gerçekleştirebildiğinizi düşünüyorum.

Açık kaynak kodu, iphone için bir simple image processing library. Orijinal fotoğraf (bir sudoku kartının) çekilmesi ve ardından algılanan nesnenin orijinal fotoğrafa yerleştirilmesi demo shows an example.

high-level techniques on their blog'dan bazılarını açıklarlar.

cevap

3

OpenCV görüntü bindirmelerini oldukça basitleştirir ve ported to the iPhone olmuştur. OpenCV ile, göz önünde bulundurulan ekran görüntülerini seçebilir veya canlı akışta görüntü işleme yapabilir, her seferinde bir kare yapabilirsiniz. Bazı öğretici programlarına bir göz atın, gerçekten yardımcı oluyorlar.

1

ayarlamak isteyebilirsiniz bir UIImagePickerController.overlayView özellik vardır:

// 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; 
İlgili konular