2009-07-29 10 views
9

क्या किसी को आईफोन के कैमरे पर कब्जा कर लिया गया चित्र लेने का तरीका पता है, और कुछ छवि प्रसंस्करण (जैसे किनारे का पता लगाने, कंकालकरण), और फिर मूल पर संसाधित छवि के हिस्सों को ओवरले करें छवि (उदाहरण के लिए केवल हाइलाइट किए गए किनारों)।वैकल्पिक वास्तविकता अनुप्रयोगों के साथ उपयोग के लिए iphone camerOverlay

अधिक सामान्य रूप से मैं पारदर्शिता के साथ UImage कैसे बना सकता हूं (क्या मैं छवि को स्केल करता हूं और इसे अल्फा मान के साथ ओवरले करता हूं, क्या UIImage समर्थन gifs की तरह पारदर्शिता करता है)। मैं सोच रहा हूं कि आप UIImagePickerController को पृष्ठभूमि थ्रेड के साथ जोड़ सकते हैं जो UIImagePickerController दृश्य के takes "screenshots" और विभिन्न ऑब्जेक्ट्स का पता लगाने के लिए छवि प्रसंस्करण करता है और ओवरले संवर्धित वास्तविकता डिस्प्ले प्रदान करता है।

आईफोन के लिए एक खुला स्रोत simple image processing library है। demo shows an example मूल फ़ोटो (सुडोकू बोर्ड का) लेने और फिर मूल तस्वीर में पता लगाई गई वस्तु को ओवरले करने के लिए।

वे high-level techniques on their blog में से कुछ को समझाते हैं।

उत्तर

3

ओपनसीवी छवि ओवरले उल्लेखनीय रूप से सरल बनाता है, और यह ported to the iPhone रहा है। ओपनसीवी के साथ आप स्क्रीनशॉट लेने के लिए चुन सकते हैं जैसा कि आपने माना है या लाइव स्ट्रीम पर छवि प्रसंस्करण करते हैं, एक समय में एक फ्रेम। अपने कुछ ट्यूटोरियल कार्यक्रमों पर नज़र डालें, वे वास्तव में सहायक हैं।

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; 
संबंधित मुद्दे