1
イメージを撮影した直後にピクセルデータに直接アクセスしようとしています。 したがって、私はCVImageBufferRefが必要だと思うが、その常に0x00000000なぜ?あなたがAVCaptureStillImageOutput
のoutputSettingsのキーkCVPixelBufferPixelFormatTypeKey
を設定する必要がcaptureStillImageAsynchronouslyFromConnectionでCVImageBufferRefを取得できませんか?
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
if(imageSampleBuffer){
CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(imageSampleBuffer);
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
おかげ
CMSampleBufferGetImageBufferをcaptureStillImageAsynchronouslyFromConnectionが返すCMSampleBufferRefで使用することはできないと思います。私が言うことができる限り、それはJPG形式であり、あなたはそれをティーンアウトする必要があります:NSData * imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];UIImage * image = [[UIImage alloc] initWithData:imageData]; //私は自分自身でより良い答えを見つけようとしています –
同じ問題があって修正がうまくいきました、ありがとう!どのようにデモコードが動作するのかというと、それほど悲しいですか? – Cocoadelica