GPUImage
是一個開源的基於GPU
的圖片或視頻的處理框架,其自己內置了近120
多種場景的濾鏡效果,而且支持照相機和攝像機的實時濾鏡,而且可以自定義圖像濾鏡。git
GPUImage
是採用鏈式方法處理畫面的,經過addTarget
方法添加對象到鏈中,處理完一個target
,就會把上一個環節處理的圖像數據傳遞到下一個target
處理,成爲GPUImage
處理鏈。github
GPUImage的四大輸入基礎類,均可以做爲響應鏈的起點,這些基礎類會把圖像做爲紋理傳給OpenGL ES
處理,而後把紋理傳遞給響應鏈的下一個target
對象。 xcode
source:框架
GPUImageVideoCamera:用於實時拍攝視頻
GPUImageStillCamera:用於實時拍攝照片
GPUImagePicture:用於處理已經拍攝好的圖片
GPUImageMovie:用於處理已經拍攝好的視頻ide
filter:
GPUImageFilter
類或者子類,這個類繼承自GPUImageOutput
,遵循GPUImageInput
協議,既能夠流進數據,又能夠流出GPUImage
的final target
:GPUImageView
、GPUImageMovieWriter
最終輸入目標,顯示圖片或視頻。ui
GPUImage
開源庫並不像其餘的開源庫那樣,拖進你的工程就能夠用,須要添加依賴關係。3d
首先官網下載:github.com/BradLarson/…code
下載完成後,找到framework
文件夾,而後刪除GPUImageMac.xcodeproj
文件,再進入Source
文件夾,刪除Mac
文件夾(這一步不作的話,即便導入成功,編譯也會出錯,當時走了很多彎路)cdn
將framework
文件夾下的GPUImage.xcodeproj
文件拖入到項目裏,應該是這樣的 視頻
在項目根目錄裏新建GPUImage
文件夾,把以前處理過的framework
文件夾複製進GPUImage
文件夾下。
在項目的Targets
依賴設置裏添加GPUImage
做爲Target Dependencies
在Build Phases
的Link Binary With Libraries
下,把libGPUImage.a
加進去。
而後添加下面這些系統的framework:CoreMedia、CoreVideo、OpenGLES、AVFoundation、QuartzCore
(不添加也不影響)
添加頭文件路徑:Build Settings -> Header Search Paths
添加GPUImage的路徑,前面提到,在項目的根目錄下建立了一個GPUImage
文件夾,framework
在該文件夾下,因此添加的路徑爲GPUImage/framework
。注意,路徑須要選擇recursive
。
在Build sSetting
裏面,Other Linker Flags
裏面添加 -fobjc-arc -ObjC
這兩項
最後,在須要的文件裏引入頭文件#import "GPUImage.h"
便可。