swift - 如何使用 GPUImage 框架将图像卡通化?

标签 swift image-processing gpuimage imagefilter

我试图通过组合来自 GPUImage 框架 的多个滤镜来创建卡通效果,但结果并不理想。我已经阅读了所有关于卡通化或卡通化图像的问题,但它们都是旧的,实际上没有代码示例的答案。所以如果可能的话,有人可以帮助我解决这个问题。

我的代码如下:

var picture:PictureInput!

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    // Filtering image for display
    picture = PictureInput(image:UIImage(named:"girlFace.png")!)

    DispatchQueue.main.async {
        self.doFilter()
    }
}

private func doFilter() {
    // to soften
    let sharp = UnsharpMask()
    sharp.blurRadiusInPixels = 30
    sharp.intensity = 8

    // to give oil paint look
    let kuwahara = KuwaharaFilter()
    kuwahara.radius = 6

    picture --> sharp --> kuwahara --> renderView
    picture.processImage()
}

And here is the result但我想要类似或接近 this image 的东西

所有答案,想法都可以接受。

最佳答案

您好,ACJHP 程序员理解您的问题,

首先是为什么不使用 ToonFilter,然后应用 KuwaharaFilter,它可能会起作用。 但是看到您的最终图像输出,我确信这可以使用 AI 和 coreMl 模型来完成。

对于您的输出,您可以查看此链接 - https://blog.prismalabs.ai/diy-prisma-app-with-coreml-6b4994cc99e1

对于 coreml 模型,请使用此链接 - https://likedan.github.io/Awesome-CoreML-Models/

在这里您可以直接下载模型并使用它。 希望这对您有所帮助

关于swift - 如何使用 GPUImage 框架将图像卡通化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51787596/

相关文章:

ios - 如何使用 AVCaptureVideoDataOutput 录制视频

android - 改变图像的色调

c# - C# 中的图像处理

iphone - 如何修改 GPUImageGaussianSelectiveBlurFilter 以在矩形而不是圆形上进行操作?

ios - 使用 Firebase 数据库、Swift 3 防止重复用户

Swift 二元运算符 '+=' 不能应用于类型为 'AnyObject!' 和 'String!' 的操作数

ios - 使用 NSnumberformatter 从计算得出的数字中删除数字

algorithm - 使用 flickr 获取特定位置的照片并组合模型

ios - 有没有办法找到GPUImageFilter对应的CIFilter?

swift - Pod 安装 GPUImage 不起作用