2016-10-28 54 views
0

用戶將使用前置攝像頭,牆上有一塊綠布(色彩背景)Android相機預覽刪除綠屏?

如何訪問預覽數據並對其進行更改:使用容差移除所選顏色?防爆綠色,包容65%

@Override 
public void onPreviewFrame(final byte[] data, Camera camera) { 
    Camera.Parameters parameters = camera.getParameters(); 
    int width = parameters.getPreviewSize().width; 
    int height = parameters.getPreviewSize().height; 

    YuvImage yuv = new YuvImage(data, parameters.getPreviewFormat(), width, height, null); 

    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    yuv.compressToJpeg(new Rect(0, 0, width, height), 50, out); 

    byte[] bytes = out.toByteArray(); 
    final Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); 

    MyActivity.this.runOnUiThread(new Runnable() { 

     @Override 
     public void run() { 
      ((ImageView) findViewById(R.id.loopback)).setImageBitmap(bitmap); 
     } 
    }); 
} 

http://jylee-world.blogspot.ro/2014/12/a-tutorial-of-androidhardwarec

我們需要簡單的教程。即使在 中也沒有好的示例代碼。

+0

你嘗試任何代碼 –

+0

@sohail absoluthly無用的評論 – Moni

回答

0

使用Bitmap.getPixel(INT X,int y)對獲得各像素bitmap.setPixel()的顏色來改變顏色,你喜歡什麼

int pixel = bitmap.getPixel(x,y); 
int R = Color.red(pixel); 
int G = Color.blue(pixel); 
int B = Color.green(pixel); 

if G == //(range of green values) 
    bitmap.setPixel(x, y, color)