使用 AVFoundation 更快地捕获静态图像

发布于 2024-12-08 01:41:12 字数 576 浏览 0 评论 0原文

我使用一些代码从相机捕获静态图像。在我的 iPad2 上,它可以毫无问题地每秒抓取 30 帧,但在 iPhone4 上,图像缓冲区满之前只能每秒 4 帧左右。有什么办法可以让它更快,我至少需要 15 fps。我只是将图像保存在数组中,所以也许我只需要增加 imagesamplebuffer ?

    [stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
 {
     NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];

     UIImage *image = [[UIImage alloc] initWithData:imageData];
     [arrCaptures addObject:image];
     [image release];
 }];

I use some code to capture still images from the camera. With my iPad2, it grabs 30 frames per second without any trouble, but with the iPhone4 only around 4 fps before the imagebuffer gets full. Is there any way to make it faster, I need at least 15 fps. I just save the images in an array, so maybe I just have to increase the imagesamplebuffer?

    [stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
 {
     NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];

     UIImage *image = [[UIImage alloc] initWithData:imageData];
     [arrCaptures addObject:image];
     [image release];
 }];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文