2009-07-29 21 views
9

Có ai biết cách chụp ảnh trên máy ảnh của iphone không và xử lý ảnh (ví dụ: phát hiện cạnh, skeletization) và sau đó phủ lên các phần của hình ảnh đã xử lý trên bản gốc hình ảnh (ví dụ: chỉ các cạnh được đánh dấu).iphone camerOverlay để sử dụng với các ứng dụng Thực tế thay thế

Nói chung, làm cách nào để tạo giao diện người dùng với độ trong suốt (tôi chỉ cần chia tỷ lệ hình ảnh và phủ nó với giá trị alpha, UIImage có hỗ trợ độ trong suốt như gifs). Tôi nghĩ rằng bạn có thể kết hợp một UIImagePickerController với một chủ đề nền rằng takes "screenshots" của chế độ xem UIImagePickerController và xử lý hình ảnh trên đó để phát hiện các đối tượng khác nhau và cung cấp một lớp phủ thực tế tăng cường hiển thị.

Có mã nguồn mở simple image processing library dành cho iphone. demo shows an example chụp ảnh gốc (của bảng sudoku) và sau đó chồng lên đối tượng được phát hiện trong ảnh gốc.

Chúng giải thích một số trong số high-level techniques on their blog.

Trả lời

3

OpenCV làm cho lớp phủ hình ảnh trở nên đơn giản đáng kể và đã là ported to the iPhone. Với OpenCV, bạn có thể chọn chụp ảnh màn hình khi bạn xem xét hoặc xử lý hình ảnh trên luồng trực tiếp, mỗi lần một khung hình. Hãy xem một số chương trình hướng dẫn của chúng, chúng thực sự hữu ích.

1

Có một tài sản UIImagePickerController.overlayView bạn có thể muốn thiết lập:

// 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; 
Các vấn đề liên quan