博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GPUImage的使用
阅读量:7165 次
发布时间:2019-06-29

本文共 2362 字,大约阅读时间需要 7 分钟。

  最近在做一个3D模型换脸功能,用户用手机自拍,然后将3D人物模型的脸换成自己的。

  在这过程中,android端可以用美图秀秀的美颜库去美白,但是ios端就没有类似的东东,百度一下,会发现在github上有一个叫BeautifyFaceDemo的开源项目,可以实现实时美颜相机,可想而知实现美颜一张照片肯定没问题。然后开始研究,最后用上之后,效果还可以。

  下面记录一下调用过程:

  Step 1,从下载GPUImage工程,从下载BeautifyFaceDemo工程

  Step 2,新建Single View Application工程TestBeautifyFace,

      将GPUImage工程文件夹中的framework文件夹拖到TestBeautifyFace工程文件夹,

      在新工程中新建Framework文件夹,将GPUImage.xcodeproj文件拖拽添加到xcode Framework文件夹中,

      然后添加依赖:在Build Phases-Link Binary With Libraries中点+添加下面的framework:

              CoreMedia,CoreVideo,OpenGLES,AVFoundation,QuartzCore,最后将libGPUImage.a文件也加进来,不然链接时会报错……

      在Build Settings的Header Search Paths项中配置头文件搜索路径,将包含GPUImage的framework路径添加进来,我的是放在TestBeautifyFace工程文件同一级,所以是:framework/**  (**表示包含目录及所有子目录)

  Step 3, 使用GPUImage:

       为了节约时间,直接上老外的代码^_^:

 

1 GPUImageFilter *selectedFilter; 2       3     switch (buttonIndex) { 4         case 0: 5             selectedFilter = [[GPUImageGrayscaleFilter alloc] init]; 6             break; 7         case 1: 8             selectedFilter = [[GPUImageSepiaFilter alloc] init]; 9             break;10         case 2:11             selectedFilter = [[GPUImageSketchFilter alloc] init];12             break;13         case 3:14             selectedFilter = [[GPUImagePixellateFilter alloc] init];15             break;16         case 4:17             selectedFilter = [[GPUImageColorInvertFilter alloc] init];18             break;19         case 5:20             selectedFilter = [[GPUImageToonFilter alloc] init];21             break;22         case 6:23             selectedFilter = [[GPUImagePinchDistortionFilter alloc] init];24             break;25         case 7:26             selectedFilter = [[GPUImageFilter alloc] init];27             break;28         default:29             break;30     }31      32     UIImage *filteredImage = [selectedFilter imageByFilteringImage:originalImage];33     [self.selectedImageView setImage:filteredImage];
View Code

  Step 4,使用美颜滤镜美颜一张照片:

      

1     GPUImageBeautifyFilter *beautifyFilter = [[GPUImageBeautifyFilter alloc] init];2     UIImage *filteredImage = [beautifyFilter imageByFilteringImage:selectedImage];3     [self.selectedImageView setImage:filteredImage];
View Code

  先写到这里,继续研究GPUImage~

 

  参考:http://code.tutsplus.com/tutorials/build-a-photo-app-with-gpuimage--mobile-12223

 

转载于:https://www.cnblogs.com/luleigreat/p/5740296.html

你可能感兴趣的文章