Android Camera 即時濾鏡(三)

來源:互聯網
上載者:User

標籤:android平台   多媒體   camera   

一、基於Android平台基本濾鏡演算法的實現

1、Android提供了改變映像數值的方法ColorMatrix,通過ColorMatrix方法可以實現基本濾鏡,如黑白、灰色、泛黃等效果。

 

2、通過ColorMatrix改變映像數值,產生變換矩陣,利用矩陣相乘,來改變每個點的像素值。

 Matrix =>

r1

r2

r3

r4

r5

g1

g2

g3

g4

g5

b1

b2

b3

b4

b5

a1

a2

a3

a4

a5


變化以後

R‘  =  R * r1  +  G * r2  +  B * r3  +  A * r4  +  r5;

G‘  =  R * g1  +  G * g2  +  B *g3  +  A * g4  +  g5;

B‘  =  R * b1  +  G * b2  +  B *b3  +  A * b4  +  b5;

A‘  =  R * a1  +  G * a2  +  B * a3  +  A * a4  +  a5;

第1~3列是控制色相的,第4列是控制透明度的,第5列是分量的增加值

 

3、R、G、B、A係數值變化會修改映像的效果

(1)對角線值為1.0,其他為0時,映像保證的是原映像

映像原圖

R

1.0

0

0

0

0

G

0

1.0

0

0

0

B

0

0

1.0

0

0

A

0

0

0

1.0

0

 

(2)對角線值若大於1.0,其他為0時,映像偏亮

映像偏亮

R

2.0

0

0

0

0

G

0

2.0

0

0

0

B

0

0

2.0

0

0

A

0

0

0

2.0

0

 

(3)對角線值若小於1.0,其他為0時,映像偏暗

映像偏暗

R

0.5

0

0

0

0

G

0

0.5

0

0

0

B

0

0

0.5

0

0

A

0

0

0

0.5

0


(4)設定映像為灰色,通過查資料 R 0.3 G0.59 B 0.11

映像偏暗

R

0.3f

0.59f

0.11f

0

0

G

0.3f

0.59f

0.11f

0

0

B

0.3f

0.59f

0.11f

0

0

A

0

0

0

1.0

0


4、根據以上的實現,實現基本濾鏡的演算法是

public Bitmap getBlackStyle(Bitmap src){Bitmap dst = Bitmap.createBitmap(src.getWidth(),src.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(dst);ColorMatrix cm = new ColorMatrix();        //設定映像為灰色,通過查資料 R 0.3 G0.59 B 0.11cm.set(new float[] { 0.3f, 0.59f, 0.11f, 0, 0, 0.3f, 0.59f, 0.11f, 0, 0, 0.3f, 0.59f, 0.11f, 0, 0, 0, 0, 0, 1, 0 });Paint paint = new Paint();paint.setColorFilter(new ColorMatrixColorFilter(cm));canvas.drawBitmap(src, 0, 0, paint);// 儲存映像canvas.save(Canvas.ALL_SAVE_FLAG);        // 儲存canvas.restore();return dst;}



 

三、後濾鏡時代

在網上看到一些資訊和相機應用,很多相機玩家對手機相機的使用是越來越多,作為手機相機的開發人員需要有更多的創意和特性為手機相機添彩!如下幾點相機的發展方向供大家參考:


(1)即時濾鏡

      VIDA 是一款來自國內團隊的照相應用,它的一大特色就是即時濾鏡,在拍攝的同時你已經可以預覽到最終的成品。這是一個強化濾鏡功能的方向。和單純的加入新濾鏡不同,即時濾鏡把握住了所見即所得 (WYSIWYG)的精髓。

(2)GIF 動畫

      GIFshop 是 一款快速製作定格動畫的應用。它結合了動態畫面的敘事能力,保留了圖片的小體積特點。但 GIFshop 的問題也非常突出,比起記錄生活,它更適合於創作一些幽默的動態小品。一旦涉及到 “創作” ,使用者的門檻就被無情地提高了。但讓畫面動起來的想法要比單純的強化濾鏡要走的更遠一些。

(3)動態圖片

      Cinemagram 制 作出來的圖片可以只在某一特定地區中出現動態效果。你可以那它建立那種網上流行的“會動的海報”。比起 GIFshop ,它能夠讓普通的記事照片變得有點魔幻。由於應用的構思巧妙,因此適合套用在不同的場合中。使用者的門檻相對較小,但收穫卻是挺大的。我將其看作是 GIFshop 的改進版本。

(4)聲音+圖片

      Picle 是 一款讓你在拍攝相片的同時也記錄下一段音訊應用。它的好處是讓 “畫外音” 這一有趣的角色參與照片的敘事。相比上述應用,Picle 進入了另個維度,它考慮到圖片的敘事瓶頸,並試圖通過加入音頻來突破。Picle 所面臨的問題是,它建立了一種新的格式,而這種格式目前還只能在 Picle 體系內分享。

    後濾鏡時代裡各支團隊在不同方向上設定了不同的瓶頸,並通過一定的方法來突破。思考的起點無一例外的定在了增強圖片敘事能力之上。從目前的情況來看,有一些事項值得注意:

· 體積:不能因為增強了效果而變得臃腫。

· 題材:不能因為特別適合某種題材而狹隘了使用者的使用情境。

· 格式:在現有流行的格式上入手,避免使用新格式。

· 門檻:在使用者利益和使用複雜度上尋求平衡。

· 多媒體:在圖片上做加法,但不能演變成拍攝視頻。

      相信隨著硬體技術的增強,手機將成為一類新的照相裝置。它也許替代不了傳統的相機,但它卻能因為應用而變得不可替代。而可以預見的是,濾鏡不會是手機照相的最後一站。

Android Camera 即時濾鏡(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.