代码之家  ›  专栏  ›  技术社区  ›  Coder ACJHP

如何使用GPUImage框架对图像进行卡通化?

  •  0
  • Coder ACJHP  · 技术社区  · 7 年前

    我正在尝试通过组合来自 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

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

    1 回复  |  直到 7 年前
        1
  •  2
  •   Shivam Gaur    7 年前

    嘿,编码员ACJHP理解你的问题,

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

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

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

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

    推荐文章