gpt4 book ai didi

c++ - 使用 AVFoundation 为 iPhone 添加覆盖/操作?

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:14 24 4
gpt4 key购买 nike

我是整个 AVFoundation 的新手。在我使用旧的 UIImagePickerControllerSourceTypeCamera 之前。

我基本上想结合添加半透明叠加层以及操纵像素来创建黑白效果、棕褐色等。

我正在显示它并使用 AVFoundation 框架捕获它,我可以拍摄静止帧,但我不知道如何添加叠加层。

请帮忙。谢谢。

最佳答案

如果您要对图像进行大量处理,那么我建议您使用 OpenGL ES。如果它很简单,比如叠加,那么你可以使用 CoreGraphics。

这是获取像素的快速片段。

void modifyImage(CMSampleBufferRef source) {
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(source);
CVPixelBufferLockBaseAddress(imageBuffer,0);

size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);
size_t width = CVPixelBufferGetWidth(imageBuffer);
size_t height = CVPixelBufferGetHeight(imageBuffer);
void *src_buff = CVPixelBufferGetBaseAddress(imageBuffer);

int32_t *src = (int32_t*) src_buff;

//modify the image

CVPixelBufferUnlockBaseAddress(imageBuffer, 0);
return;
}

有关使用 OpenGL ES 处理视频的良好起点,请参阅 Brad Larson's博客。

关于c++ - 使用 AVFoundation 为 iPhone 添加覆盖/操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com