Как я могу получить изображение от AVFoundation? -captureOutput: didOutputSampleBuffer: fromConnection - PullRequest
0 голосов
/ 14 октября 2019

Я хочу получить изображение из метода AVFoundation "- (void) captureOutput: (AVCaptureOutput *) captureOutput didOutputSampleBuffer: (CMSampleBufferRef) sampleBuffer fromConnection: (AVCaptureConnection *) соединение;"

у меня естьметодов, но это не работа;

  • (UIImage *) getImageBySampleBufferref: (CMSampleBufferRef) sampleBuffer {

    1008 * CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer (sampleBuffer);CVPixelBufferLockBaseAddress (imageBuffer, 0);void * baseAddress = CVPixelBufferGetBaseAddress (imageBuffer);size_t bytesPerRow = CVPixelBufferGetBytesPerRow (imageBuffer);size_t width = CVPixelBufferGetWidth (imageBuffer);size_t height = CVPixelBufferGetHeight (imageBuffer);

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB ();CGContextRef context = CGBitmapContextCreate (baseAddress, ширина, высота, 8, bytesPerRow, colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);CGImageRef quartzImage = CGBitmapContextCreateImage (context);CVPixelBufferUnlockBaseAddress (imageBuffer, 0);CGContextRelease (контекст);CGColorSpaceRelease (colorSpace);

    UIImage * image = [UIImage imageWithCGImage: quartzImage];CGImageRelease (quartzImage);возврат (изображение);}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...