我正在使用AVFoundation框架。在我的樣本緩衝委託我有以下代碼:無法在iOS5中從CIImage創建UIImage
-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection{
CVPixelBufferRef pb = CMSampleBufferGetImageBuffer(sampleBuffer);
CIImage *ciImage = [CIImage imageWithCVPixelBuffer:pb];
self.imageView.image = [UIImage imageWithCIImage:ciImage];
}
我能夠用CIImage運行臉部檢測裝置等,但它並沒有在UIImageView的出現......在ImageView的保持白色。關於這個問題的任何想法? 我使用下面的設置我的會話:
self.session = [[AVCaptureSession alloc] init];
self.session.sessionPreset = AVCaptureSessionPreset640x480;
self.videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
self.videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:nil];
self.frameOutput = [[AVCaptureVideoDataOutput alloc] init];
self.frameOutput.videoSettings = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey];
謝謝 - 這確實讓我畫出圖像。但是它會泄漏內存,導致應用程序在運行幾秒後崩潰。 – user491880
是的,我還沒有真的看太多。我相信你必須在某個時候釋放上下文或者CGImageRef。另外我敢肯定上面的方法不是使用CIImage視圖的實際方法。 我計劃明天觀看「在iOS和Mac OS X上使用Core Image」視頻(該視頻位於Apple開發人員網站上的WWDC 2011會話視頻中)並深入瞭解,如果我學習了一些內容任何有用的。 – spybart
我建議你也看這個視頻和/或看演示文稿幻燈片,因爲它解釋瞭如何使用核心圖像,並詳細瞭解上下文以及何時使用CPU/GPU和更多 – spybart