MagicCamera - Android 相機軟件

comeonbabe 8年前發布 | 22K 次閱讀 Android開發 移動開發

MagicCamera 是 Android 平臺開源相機項目,具有包括實時美顏等40種實時濾鏡,功能包括對圖片進行磨皮/美白等后期處理。

1.相機預覽模式

示例見:com.seu.magiccamera.activity.CameraActivity 需要自行創建一個glsurfaceview GLSurfaceView glSurfaceView = (GLSurfaceView)findViewById(R.id.glsurfaceView); FrameLayout.LayoutParams params = new LayoutParams(Constants.mScreenWidth, Constants.mScreenHeight); glSurfaceView.setLayoutParams(params);
mMagicCameraDisplay = new MagicCameraDisplay(this, glSurfaceView); 通過setFilter(int)來更換濾鏡 拍照采用將圖片繪制到等大小的framebuffer,并讀取像素數據,封裝成Bitmap并保存。

2.照片模式:

示例:com.seu.magiccamera.activity.ImageActivity 方法同相機模式,需要通過setImageBitmap(bitmap)來載入圖像。 import com.seu.magicfilter.filter.advance.image ------可調節對比、色調、銳化、曝光、亮度、飽和度6個參數 保存采用將圖片繪制到等大小的framebuffer,并讀取像素數據,封裝成Bitmap并保存。

3.相機輸入:

import com.seu.magicfilter.filter.base.MagicCameraInputFilter 更改GPUImageView中在JNI將YUV轉換RGB的模式,減少時間消耗約20-50ms。 通過surfaceTexture與OpenGL ES綁定獲取紋理id,實現預覽數據與屏幕輸出的綁定 若無濾鏡選擇,將該紋理輸出到屏幕 若有濾鏡選擇,將該紋理輸出到FrameBuffer,之后所有的濾鏡的繪制紋理為該framebuffertexture。

4.實時美顏濾鏡:

import com.seu.magicfilter.filter.advance.common.MagicBeautyFilter 可與MagicCameraInputFilter合并作為相機輸入層,將每個濾鏡都加上美顏效果 可設置美顏強度(1-5),方法:setBeautyLevel(int level) 參見:Android平臺Camera實時濾鏡實現方法探討(十一)--實時美顏濾鏡

5.截圖:

alt textalt textalt text

官方網站:http://www.baiduhome.net/lib/view/home/1453625904339



 本文由用戶 comeonbabe 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!