GPUImage 是一款使用OpenGL技術(shù)處理視頻和圖像的開源框架馏艾,因為其包含各種功能強大的圖像處理濾鏡,使用GPU加速奴愉,得到及其廣泛的應(yīng)用琅摩。
Github下載地址: https://github.com/BradLarson/GPUImage
在工程源碼中examples目錄包含多個使用GPUImage 濾鏡的例子,其中FilterShowcase這個工程是展示GPUImage所有濾鏡功能的例子锭硼,原工程支持打開相機房资,針對相機捕獲視頻做各種濾鏡處理,基于學(xué)習(xí)的目的账忘,對這個例子增加了本地圖片和相冊中照片的濾鏡處理志膀。
修改后工程源碼地址:https://github.com/OjisanC/GPUImageDemo
Demo 演示截圖如下:
GPUImage 包含一百多種圖像處理的濾鏡,主要分為四類鳖擒,本文基于這個四個類別分別對各個濾鏡做詳細描述并附上一些效果圖溉浙,僅供參考。
(一)Color Adjustments 色彩調(diào)整?
以下是幾乎所有攝影類APP都支持的色彩調(diào)整相關(guān)的基本功能蒋荚,這些濾鏡并非是調(diào)節(jié)相機本身的參數(shù)戳稽,而是在相機捕獲的圖像上做濾鏡處理。
GPUImageSaturationFilter ? ? ? ? ? ?飽和度
GPUImageContrastFilter ? ? ? ? ? ? ? 對比度
GPUImageOpacityFilter ? ? ? ? ? ? ? ?透明度
GPUImageWhiteBalanceFilter? ? ? 白平衡
GPUImageBrightnessFilter ? ? ? ? ? 亮度
GPUImageExposureFilter ? ? ? ? ? ? 曝光
以下一些色彩處理,比如 色調(diào)惊奇,色階互躬,單色,灰色颂郎,高光陰影等也是圖像處理app中常見的功能吼渡。
GPUImageHueFilter ? ? ? ? ? ? ? ? ? ? ? ? ?色調(diào)
GPUImageGrayscaleFilter ? ? ? ? ? ? ? ? 黑白
GPUImageColorInvertFilter? ? ? ? ? ? ? ? 反色
GPUImageMonochromeFilter ? ? ? ? ? ? 單色
GPUImageRGBFilter ? ? ? ? ? ? ? ? ? ? ? ? ? RGB
GPUImageLevelsFilter? ? ? ? ? ? ? ? ? ? ? ? 色階
GPUImageToneCurveFilter ? ? ? ? ? ? ? ? 曲線
GPUImageGammaFilter ? ? ? ? ? ? ? ? ? ? Gamma
GPUImageHazeFilter ? ? ? ? ? ? ? ? ? ? ? ? 去霧
GPUImageHighlightShadowFilter ? ? ?高光陰影
- 色調(diào),RGB乓序, 色階寺酪,曲線,反色替劈,單色 :都是對色彩調(diào)節(jié)的功能
- 黑白 :去色寄雀,黑白效果
- Gamma: 灰度調(diào)節(jié)
- 反色:也就是反相,相反顏色
- 去霧:類似于UV過濾器
- 高光陰影: 調(diào)整圖像的陰影和高光
圖像分析相關(guān)
GPUImageHistogramFilter ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?直方圖
GPUImageHistogramGenerator ? ? ? ? ? ? ? ? ? ? ? ? ?直方圖過濾
GPUImageAverageColor ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 平均顏色
GPUImageLuminosity ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?平均亮度
GPUImageLuminanceThresholdFilter ? ? ? ? ? ? ? ? ?亮度閾值
GPUImageAdaptiveThresholdFilter ? ? ? ? ? ? ? ? ? ? 自適應(yīng)閾值
GPUImageAverageLuminanceThresholdFilter? ? 平均亮度閾值
- 直方圖 :獲取圖像直方圖并顯示在圖像上
- 直方圖過濾:根據(jù)直方圖對指定顏色進行過濾
- 平均顏色,平均亮度 :獲取圖像中的平均顏色,亮度
- 亮度閾值缰揪,自適應(yīng)閾值,平均亮度閾值:閾值
幾個色彩濾鏡
GPUImageFalseColorFilter ? ? ? 顏色混合
GPUImageChromaKeyFilter ? ? 色度key
GPUImageSepiaFilter ? ? ? ? ? ? ? 棕褐色
GPUImageAmatorkaFilter ? ? ? ? Amatorka濾鏡
GPUImageMissEtikateFilter ? ? ?Miss Etikate濾鏡
GPUImageSoftEleganceFilter ? 顏色重映射濾鏡
- 顏色混合: 根據(jù)圖像的亮度在兩個用戶指定的顏色之間進行混合
- 色度key:用于兩幅圖像疊加保留一幅圖像指定色度
- 棕褐色: 棕褐色調(diào)濾鏡急膀,老照片
- Amatorka,Miss Etikate:Photoshop 相關(guān)濾鏡坛猪,需要使用外部圖片資源
- 顏色重映射濾鏡: 一種基于查找的顏色重映射濾鏡脖阵,需要使用外部圖片資源