Ios 如何有效地应用GPUImage过滤器?

Ios 如何有效地应用GPUImage过滤器?,ios,swift,gpuimage,Ios,Swift,Gpuimage,在我的项目中,我将颜色应用于图像,然后在一秒钟后,我将应用Kuwahara过滤器,以获得水彩效果,但问题是应用过滤器需要时间,如果我更改颜色太多,应用程序最终会因内存问题而崩溃。有谁能帮我以最好的方式使用过滤器吗。谢谢 代码 这就是我如何在swift中使用GPUImage2根据我认为您需要的设置过滤器的方法。将图像导入颜色过滤器,然后导入溶解混合源1(混合0.0)。然后将滤色片送入kuwahara滤色片,然后送入溶解混合物的源2。从那里你可以在两者之间转换,改变半径,不管你想要多少 func s

在我的项目中,我将颜色应用于图像,然后在一秒钟后,我将应用Kuwahara过滤器,以获得水彩效果,但问题是应用过滤器需要时间,如果我更改颜色太多,应用程序最终会因内存问题而崩溃。有谁能帮我以最好的方式使用过滤器吗。谢谢

代码


这就是我如何在swift中使用GPUImage2根据我认为您需要的设置过滤器的方法。将图像导入颜色过滤器,然后导入溶解混合源1(混合0.0)。然后将滤色片送入kuwahara滤色片,然后送入溶解混合物的源2。从那里你可以在两者之间转换,改变半径,不管你想要多少

func setupFilters() {
    image --> colorFilter --> dissolveBlend
    colorFilter --> kuwaharaFilter --> dissolveBlend --> renderView
    dissolveBlend.mix = 0.0
}

func addWaterColorEffect(withRadius : Int = 5){
    kuwaharaFilter.radius = withRadius
    dissolveBlend.mix = 1.0 
    // This will not give you a transition but you can use a while loop or timer 
    // to change the mix over the course of whatever length of time you are seeking.
}

在应用下一个筛选器之前,是否需要等待整整一秒钟?这样做的目的是什么?能否先应用过滤器,然后将过滤器值设置为0,然后在一秒钟后进行调整?如果不是,我建议将第一个过滤器设置为您想要的,然后分别设置下一组过滤器,并在它们之间使用转换,这就是我想要的did@JustinMiller谢谢你,伙计,但是你能用一个例子来解释一下吗,这样会更相关。谢谢,贾斯汀,“我现在正在尝试类似的事情。”ShivamGaur运气好吗?是的,伙计,我试过用管道输送过滤器,效果很好。谢谢
func setupFilters() {
    image --> colorFilter --> dissolveBlend
    colorFilter --> kuwaharaFilter --> dissolveBlend --> renderView
    dissolveBlend.mix = 0.0
}

func addWaterColorEffect(withRadius : Int = 5){
    kuwaharaFilter.radius = withRadius
    dissolveBlend.mix = 1.0 
    // This will not give you a transition but you can use a while loop or timer 
    // to change the mix over the course of whatever length of time you are seeking.
}