强大的图像处理库---GPUImage
来源:互联网 发布:拓扑排序算法c 编辑:程序博客网 时间:2024/04/29 04:40
iOS开发中,想要做图像处理,可以用Core Image,Core Image提供强大的滤镜效果,可以对图像和照相机的视频流做处理。今天介绍的是比Core Image更牛掰的一个开源库GPUImage!GPUImage托管在GitHub上,是一个遵守BSD开源协议的开源库,可以放心大胆的使用!
GPUImage顾名思义是利用GPU来做图像处理的,相比于CPU要快很多,不至于你的图像处理过程很慢,特别是处理很大的图像时,比如高清视频。GPUImage支持iOS4.0以上,当然iOS8已经发布的今天,你应该不会去适配iOS4了吧!GPUImage封装了OpenGL ES2.0,接口设计简单明了,支持ARC,这样就可以不管OpenGL ES的复杂接口而使用它的处理性能啦。并且作者一直在更新,有支持Swift的倾向,还是值得一学的。
要处理的源对像应该是GPUImageOutput的子类对象,比如:
GPUImageVideoCamera(来自摄像头的实时视频)
GPUImageStillCamera(摄像头照的照片)
GPUImagePicture(静态图片)
GPUImageMovie(电影)
源对象加载静态图像,作为OpenGL ES的纹理对象,然后一帧一帧往下处理。滤镜和其他的一些遵守GPUImageInput协议,可以用来处理OpenGL ES的纹理,比如,应用程序想要处理实时视频,把视频处理成深褐色,然后显示到屏幕上,就需要GPUImageVideoCamera -> GPUImageSepiaFilter -> GPUImageView。
下面是GPUImage里面所有的类:
基础类:
#import "GPUImageContext.h"
#import "GPUImageOutput.h"
#import "GPUImageView.h"
#import "GPUImageVideoCamera.h"
#import "GPUImageStillCamera.h"
#import "GPUImageMovie.h"
#import "GPUImagePicture.h"
#import "GPUImageRawDataInput.h"
#import "GPUImageRawDataOutput.h"
#import "GPUImageMovieWriter.h"
#import "GPUImageFilterPipeline.h"
#import "GPUImageTextureOutput.h"
#import "GPUImageFilterGroup.h"
#import "GPUImageTextureInput.h"
#import "GPUImageUIElement.h"
#import "GPUImageBuffer.h"
#import "GPUImageFramebuffer.h"
#import "GPUImageFramebufferCache.h"
滤镜类:
#import "GPUImageFilter.h"
#import "GPUImageTwoInputFilter.h"
#import "GPUImagePixellateFilter.h"
#import "GPUImagePixellatePositionFilter.h"
#import "GPUImageSepiaFilter.h"
#import "GPUImageColorInvertFilter.h"
#import "GPUImageSaturationFilter.h"
#import "GPUImageContrastFilter.h"
#import "GPUImageExposureFilter.h"
#import "GPUImageBrightnessFilter.h"
#import "GPUImageLevelsFilter.h"
#import "GPUImageSharpenFilter.h"
#import "GPUImageGammaFilter.h"
#import "GPUImageSobelEdgeDetectionFilter.h"
#import "GPUImageSketchFilter.h"
#import "GPUImageToonFilter.h"
#import "GPUImageSmoothToonFilter.h"
#import "GPUImageMultiplyBlendFilter.h"
#import "GPUImageDissolveBlendFilter.h"
#import "GPUImageKuwaharaFilter.h"
#import "GPUImageKuwaharaRadius3Filter.h"
#import "GPUImageVignetteFilter.h"
#import "GPUImageGaussianBlurFilter.h"
#import "GPUImageGaussianBlurPositionFilter.h"
#import "GPUImageGaussianSelectiveBlurFilter.h"
#import "GPUImageOverlayBlendFilter.h"
#import "GPUImageDarkenBlendFilter.h"
#import "GPUImageLightenBlendFilter.h"
#import "GPUImageSwirlFilter.h"
#import "GPUImageSourceOverBlendFilter.h"
#import "GPUImageColorBurnBlendFilter.h"
#import "GPUImageColorDodgeBlendFilter.h"
#import "GPUImageScreenBlendFilter.h"
#import "GPUImageExclusionBlendFilter.h"
#import "GPUImageDifferenceBlendFilter.h"
#import "GPUImageSubtractBlendFilter.h"
#import "GPUImageHardLightBlendFilter.h"
#import "GPUImageSoftLightBlendFilter.h"
#import "GPUImageColorBlendFilter.h"
#import "GPUImageHueBlendFilter.h"
#import "GPUImageSaturationBlendFilter.h"
#import "GPUImageLuminosityBlendFilter.h"
#import "GPUImageCropFilter.h"
#import "GPUImageGrayscaleFilter.h"
#import "GPUImageTransformFilter.h"
#import "GPUImageChromaKeyBlendFilter.h"
#import "GPUImageHazeFilter.h"
#import "GPUImageLuminanceThresholdFilter.h"
#import "GPUImagePosterizeFilter.h"
#import "GPUImageBoxBlurFilter.h"
#import "GPUImageAdaptiveThresholdFilter.h"
#import "GPUImageUnsharpMaskFilter.h"
#import "GPUImageBulgeDistortionFilter.h"
#import "GPUImagePinchDistortionFilter.h"
#import "GPUImageCrosshatchFilter.h"
#import "GPUImageCGAColorspaceFilter.h"
#import "GPUImagePolarPixellateFilter.h"
#import "GPUImageStretchDistortionFilter.h"
#import "GPUImagePerlinNoiseFilter.h"
#import "GPUImageJFAVoronoiFilter.h"
#import "GPUImageVoronoiConsumerFilter.h"
#import "GPUImageMosaicFilter.h"
#import "GPUImageTiltShiftFilter.h"
#import "GPUImage3x3ConvolutionFilter.h"
#import "GPUImageEmbossFilter.h"
#import "GPUImageCannyEdgeDetectionFilter.h"
#import "GPUImageThresholdEdgeDetectionFilter.h"
#import "GPUImageMaskFilter.h"
#import "GPUImageHistogramFilter.h"
#import "GPUImageHistogramGenerator.h"
#import "GPUImageHistogramEqualizationFilter.h"
#import "GPUImagePrewittEdgeDetectionFilter.h"
#import "GPUImageXYDerivativeFilter.h"
#import "GPUImageHarrisCornerDetectionFilter.h"
#import "GPUImageAlphaBlendFilter.h"
#import "GPUImageNormalBlendFilter.h"
#import "GPUImageNonMaximumSuppressionFilter.h"
#import "GPUImageRGBFilter.h"
#import "GPUImageMedianFilter.h"
#import "GPUImageBilateralFilter.h"
#import "GPUImageCrosshairGenerator.h"
#import "GPUImageToneCurveFilter.h"
#import "GPUImageNobleCornerDetectionFilter.h"
#import "GPUImageShiTomasiFeatureDetectionFilter.h"
#import "GPUImageErosionFilter.h"
#import "GPUImageRGBErosionFilter.h"
#import "GPUImageDilationFilter.h"
#import "GPUImageRGBDilationFilter.h"
#import "GPUImageOpeningFilter.h"
#import "GPUImageRGBOpeningFilter.h"
#import "GPUImageClosingFilter.h"
#import "GPUImageRGBClosingFilter.h"
#import "GPUImageColorPackingFilter.h"
#import "GPUImageSphereRefractionFilter.h"
#import "GPUImageMonochromeFilter.h"
#import "GPUImageOpacityFilter.h"
#import "GPUImageHighlightShadowFilter.h"
#import "GPUImageFalseColorFilter.h"
#import "GPUImageHSBFilter.h"
#import "GPUImageHueFilter.h"
#import "GPUImageGlassSphereFilter.h"
#import "GPUImageLookupFilter.h"
#import "GPUImageAmatorkaFilter.h"
#import "GPUImageMissEtikateFilter.h"
#import "GPUImageSoftEleganceFilter.h"
#import "GPUImageAddBlendFilter.h"
#import "GPUImageDivideBlendFilter.h"
#import "GPUImagePolkaDotFilter.h"
#import "GPUImageLocalBinaryPatternFilter.h"
#import "GPUImageLanczosResamplingFilter.h"
#import "GPUImageAverageColor.h"
#import "GPUImageSolidColorGenerator.h"
#import "GPUImageLuminosity.h"
#import "GPUImageAverageLuminanceThresholdFilter.h"
#import "GPUImageWhiteBalanceFilter.h"
#import "GPUImageChromaKeyFilter.h"
#import "GPUImageLowPassFilter.h"
#import "GPUImageHighPassFilter.h"
#import "GPUImageMotionDetector.h"
#import "GPUImageHalftoneFilter.h"
#import "GPUImageThresholdedNonMaximumSuppressionFilter.h"
#import "GPUImageHoughTransformLineDetector.h"
#import "GPUImageParallelCoordinateLineTransformFilter.h"
#import "GPUImageThresholdSketchFilter.h"
#import "GPUImageLineGenerator.h"
#import "GPUImageLinearBurnBlendFilter.h"
#import "GPUImageGaussianBlurPositionFilter.h"
#import "GPUImagePixellatePositionFilter.h"
#import "GPUImageTwoInputCrossTextureSamplingFilter.h"
#import "GPUImagePoissonBlendFilter.h"
#import "GPUImageMotionBlurFilter.h"
#import "GPUImageZoomBlurFilter.h"
#import "GPUImageLaplacianFilter.h"
#import "GPUImageiOSBlurFilter.h"
#import "GPUImageLuminanceRangeFilter.h"
1、可以把源文件全部拖到你的工程里边,这样你就可以看见.h和.m文件了,这样做的话,你需要手动添加GPUImage需要的库:
CoreMedia
CoreVideo
OpenGL ES
AVFoundation
QuartzCore
2、如果你不想看见.m文件可以把它编译成静态库,加入到你的工程,就像加入系统自带的那些框架一样:
选择Add Other...找到你编译的静态库就可以啦,这样你就不用手动添加GPUImage需要的那些库啦。编译静态库的方法是:
打开终端--->cd 你下载的GPUImage包----->sh build.sh
这样你就可以编译成功啦,你也可以修改要编译的目标SDK,用文本编辑器打开build.sh就可以修改啦。编译好的文件在build问价夹里。
在需要用到GPUImage的文件里,加入头文件:
#import <GPUImage/GPUImage.h>,如果不是编译成静态库,就这样引用:#import "GPUImage.h"。
接下来你就可以使用啦,使用的方法我还没有深究,可以参考http://code.tutsplus.com/tutorials/build-a-photo-app-with-gpuimage--mobile-12223
就写到这吧!
- 强大的图像处理库---GPUImage
- iOS:GPUImage强大的图像处理框架
- GPUImage图像处理库使用(一)
- GPUImage 图像处理
- GPUImage图像处理
- iOS GPUImage图像处理
- iOS基于AVFoundation + GPUImage的实时图像处理
- 强大的图像处理库ImageMagick:命令行上的PhotoShop
- Android图像处理之GPUImage for Android
- 【OpenCV3图像处理】强大的矩阵
- iOS图像处理(核心图形,核心图像,GPUImage)
- 强大的GPUImage,实现美颜及各种效果
- CImg 介绍:简洁、高效、强大、酷毙的C++ 图像处理模板库
- iOS小结(四) GPUImage加速图像处理
- 强大的Core Image框架,各种滤镜处理图像
- 获得GPUImage处理后的UIImage
- iOS图像处理第2部分:核心图形,核心图像,GPUImage
- ios图像处理第2部分:核心图形,核心图像,GPUImage
- Service
- 【C/S通信交互之Http篇】Cocos2dx(Client)使用Curl与Jetty(Server)实现手机网游Http通信框架(内含解决curl.h头文件找不到问题)
- ViewPager使用中的一些小问题
- ACdream区域赛指导赛之手速赛系列(7)
- 真的是这样吗?
- 强大的图像处理库---GPUImage
- JDK+eclipse+tomcat+mysql环境配置
- 建立交通物流的网络设想
- 数组和链表的区别?
- ASP.NET学习路线图
- 多态的应用《植物大战僵尸》
- shell 操作统计用户日志的操作的个数
- redis 安装 ,主从配置,选举
- iOS 之sizeWithFont详细