Android 靜態濾鏡的實現
1、回顧知識點
一、基本濾鏡效果的實現(黑白濾鏡)
用到的技術是ColorMatrix。經過改變RGBA的係數,從而改變圖像的成像效果。算法
Created with Raphaël 2.1.2 圖像Bitmap ColorMateix RGB係數 濾鏡圖像
二、PS濾鏡效果的實現(反色效果、冰凍效果、油畫效果)
用到的技術是經過遍歷圖像的像素點,設置圖像的像素點的RGB三原色來實現PS效果。markdown
Created with Raphaël 2.1.2 圖像Bitmap 獲取像素getPixels PS算法 修改像素點Color.red/green/blue 濾鏡圖像
2、靜態濾鏡的實現
基於以前積累下來的知識點,在對靜態濾鏡的實現方面作一下提高,仍是從兩方面進行實現。圖片
一、基本濾鏡效果升級版 –> 僞lomo濾鏡的實現
Created with Raphaël 2.1.2 原始圖片 ColorMatrix處理 在處理後的圖片上覆蓋一層彩色lomo圖片 覆蓋上彩色lomo 僞lomo濾鏡效果
- step1:原始圖片
- step2:ColorMatrix處理
- step3:在處理後的圖片上覆蓋一層彩色lomo圖片
- step4:覆蓋上彩色lomo後的效果
- step5:僞lomo濾鏡效果
二、PS濾鏡效果升級版 –> 老照片濾鏡的實現
(1)HSL顏色標準
- HSL色彩模式是工業界的一種顏色標準,是經過對色調(H)、飽和度(S)、亮度(L)三個顏色通道的變化以及它們相互之間的疊加來獲得各式各樣的顏 色的,HSL便是表明色調,飽和度,亮度三個通道的顏色,這個標準幾乎包括了人類視力所能感知的全部顏色,是目前運用最廣的顏色系統之一。
- HSL色彩模式使用HSL模型爲圖像中每個像素的HSL份量分配一個0~255範圍內的強度值。HSL圖像只使用三種通道,就可使它們按照不一樣的比例混合,在屏幕上重現16777216種顏色。
- 在 HSL 模式下,每種 HSL 成分均可使用從 0到 255的值。(其中L是從黑(0)到白(255)漸變) 。
老照片效果的整體思路是,對色調、飽和度、亮度進行處理,而非以前的紅綠藍色調處理。
(2)算法實現
Created with Raphaël 2.1.2 自定義一個ColorBalance類(用於色彩平衡)Bitmap 創建檢索表 顏色矩陣(用於RGB色值的微調) 圖片轉換爲HSL標準 HSL轉回爲RGB 底片進行α混淆
- 效果圖