我正在寫一個iPhone應用程序,它使用OpenCV進行某種實時圖像檢測。什麼是將CMSampleBufferRef
圖像從相機(我使用AVFoundation的AVCaptureVideoDataOutputSampleBufferDelegate
)轉換爲OpenCV能夠理解的IplImage
的最佳方法?轉換需要足夠快,以便它可以實時運行。將CMSampleBufferRef轉換爲OpenCV IplImage的最佳/最快方法是什麼?
- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// Convert CMSampleBufferRef into IplImage
IplImage *openCVImage = ???(sampleBuffer);
// Do OpenCV computations realtime
// ...
[pool release];
}
在此先感謝。
這種運作良好,640x480的圖像轉換時間爲0.00020秒正負0.00004我的iPhone 4 – cduck 2011-03-04 04:06:55
@cduck:是的,即使在3GS上,我使用此解決方案實現了30 fps。 – 2011-03-04 08:12:12