首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整CVPixelBuffer的大小

调整CVPixelBuffer的大小
EN

Stack Overflow用户
提问于 2017-06-13 06:01:24
回答 0查看 7.2K关注 0票数 3

我正在尝试将CVPixelBuffer的大小调整为128x128。我正在使用一台750x750的。我目前正在使用CVPixelBuffer创建一个新的CGImage,我调整它的大小,然后将其转换回CVPixelBuffer。下面是我的代码:

代码语言:javascript
复制
func getImageFromSampleBuffer (buffer:CMSampleBuffer) -> UIImage? {
    if let pixelBuffer = CMSampleBufferGetImageBuffer(buffer) {
        let ciImage = CIImage(cvPixelBuffer: pixelBuffer)
        let context = CIContext()
        let imageRect = CGRect(x: 0, y: 0, width: 128, height: 128)

        if let image = context.createCGImage(ciImage, from: imageRect) {
            let t = CIImage(cgImage: image)
            let new = t.applying(transformation)
            context.render(new, to: pixelBuffer)

            return UIImage(cgImage: image, scale: UIScreen.main.scale, orientation: .right)
        }

    }

    return nil
}

我还尝试过缩放CIImage,然后转换它:

代码语言:javascript
复制
let t = CIImage(cgImage: image)
let transformation = CGAffineTransform(scaleX: 1, y: 2)
let new = t.applying(transformation)
context.render(new, to: pixelBuffer)

但这也不管用。

任何帮助都是非常感谢的。谢谢!

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44509385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档