GPUImage模糊排除自由形态区域

时间:2015-12-10 16:00:21

标签: ios swift gpuimage

我想模糊使用iPad相机拍摄的照片。但是,我不想模糊特定区域(用红色表示)。我看过GPUImageGaussianSelectiveBlurFilter。这正是我的想法,但是我有一个自由形式区域,不能排除圆形或椭圆形。例如,如果绘制三角形,则模糊不能以这种方式成形。我已经对这个问题进行了相当多的研究,但我似乎无法找到排除该区域的方法,当我使用Mask滤镜时,我只剩下被排除的区域和白色背景。红色多边形是UIImage

    let blurFilter = GPUImageGaussianBlurFilter()
    blurFilter.blurRadiusInPixels = 10.0

    let maskFilter = GPUImageMaskFilter()

    let maskGPUImage = GPUImagePicture(image: maskImg)

    let filterBgImage = GPUImagePicture(image: capturedImage)


    filterBgImage.addTarget(maskFilter)
    filterBgImage.processImage()

    maskFilter.useNextFrameForImageCapture()

    maskGPUImage.addTarget(maskFilter)
    maskGPUImage.processImage()

    session.image = maskFilter.imageFromCurrentFramebuffer()

Simple example

Final Image after filtering

0 个答案:

没有答案