sto utilizzando il framework AVFoundation. Nel mio tampone campione delegato Ho il seguente codice:Avendo problemi a creare UIImage da CIImage in iOS5
-(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];
}
sono in grado di utilizzare il CIImage per eseguire il rilevatore faccia ecc, ma non mostra nella UIImageView ... l'ImageView rimane bianca. Qualche idea sul problema? Sto usando il seguente per impostare la mia sessione:
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];
Grazie - questo in effetti mi permetta di disegnare l'immagine. Tuttavia perde la memoria causando l'arresto anomalo dell'app dopo pochi secondi. – user491880
Sì, non ci ho ancora pensato molto. Sono sicuro che devi rilasciare i contesti o il CGImageRef ad un certo punto. Inoltre sono sicuro che il metodo sopra non è il modo pratico di usare le viste CIImage. ho intenzione di guardare il "Utilizzare Core Image su iOS e Mac OS X" video (che si trova sul sito Apple Developer, WWDC 2011 Session Video) domani e imparare di più in profondità, io cadere una linea se imparo qualsiasi cosa utile – spybart
vi consiglio anche guardare questo video e/o guardare le slide della presentazione in quanto spiega come utilizzare Core Image, e va in dettaglio sui contesti e quando utilizzare CPU/GPU e più – spybart