美文网首页
iOS硬解后获取的CVImageBufferRef转UIImag

iOS硬解后获取的CVImageBufferRef转UIImag

作者: 简繁之间_来去自然 | 来源:发表于2021-07-13 10:31 被阅读0次

    iOS硬解后获取的CVImageBufferRef转UIImage  

    参考链接: https://blog.csdn.net/vickyjfr/article/details/53258578

    参考链接:https://www.jianshu.com/p/62351cd38573

    -(void) screenshotOfVideoStream:(CVImageBufferRef)imageBuffer{

    CIImage *ciImage = [CIImage imageWithCVPixelBuffer:imageBuffer];

    CIContext *temporaryContext = [CIContext contextWithOptions:nil];

    CGImageRef videoImage = [temporaryContext

    createCGImage:ciImage

    fromRect:CGRectMake(0, 0,

    CVPixelBufferGetWidth(imageBuffer),

    CVPixelBufferGetHeight(imageBuffer))];

    UIImage *image = [[UIImage alloc] initWithCGImage:videoImage];

    [self doSomethingWithOurUIImage:image];

    CGImageRelease(videoImage);

    }

    -(UIImage *)cvsamplebufferrefToimage:(CVImageBufferRef)imageBuffer{

    CVPixelBufferLockBaseAddress(imageBuffer, 0);

    void *baseAddress = CVPixelBufferGetBaseAddress(imageBuffer);

    size_t width = CVPixelBufferGetWidth(imageBuffer);

    size_t height = CVPixelBufferGetHeight(imageBuffer);

    size_t bufferSize = CVPixelBufferGetDataSize(imageBuffer);

    size_t bytesPerRow = CVPixelBufferGetBytesPerRowOfPlane(imageBuffer, 0);

    // Create a device-dependent gray color space

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();

    // Create a bitmap graphics context with the sample buffer data

    CGContextRef context = CGBitmapContextCreate(baseAddress, width, height, 8, bytesPerRow, colorSpace, kCGImageAlphaNone);

    // Create a Quartz image from the pixel data in the bitmap graphics context

    CGImageRef quartzImage = CGBitmapContextCreateImage(context);

    // Free up the context and color space

    CGContextRelease(context);

    CGColorSpaceRelease(colorSpace);

    // Create an image object from the Quartz image

    UIImage *image = [UIImage imageWithCGImage:quartzImage];

    return image;

    }

    相关文章

      网友评论

          本文标题:iOS硬解后获取的CVImageBufferRef转UIImag

          本文链接:https://www.haomeiwen.com/subject/bseqrltx.html