2009-07-29 85 views
9

有沒有人知道一種方法來拍攝在iphone相機上拍攝的圖像,並進行一些圖像處理(例如邊緣檢測,骨骼化),然後覆蓋原始處理圖像的部分圖像(例如,只有突出顯示的邊緣)。iphone camerOverlay與替代現實應用程序一起使用

更一般地說,我該如何創建一個具有透明度的UImage(我只是縮放圖像並用Alpha值覆蓋它,UIImage是否支持像GIF那樣的透明度)。我在想,你可以將UIImagePickerController與UIImagePickerController視圖的後臺線程takes "screenshots"結合起來,並對其執行圖像處理以檢測各種對象並提供疊加增強現實顯示。

iphone有一個開源碼simple image processing library。拍攝原始照片(數獨板)的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; 
相關問題