2016-10-28 6 views
0

Der Benutzer wird die Frontkamera mit einem grünen Tuch an der Wand verwenden (chromatischer Hintergrund)Android Kamera Vorschau grünen Bildschirm entfernen?

Wie ist es möglich, auf die Vorschaudaten zuzugreifen und sie zu ändern: Entfernen Sie die ausgewählte Farbe mit einer Toleranz? Ex grün, Toleranz 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

Wir brauchen einfache Übungen. Es gibt keinen guten Beispielcode, selbst in .

+0

Sie beliebigen Code versuchen haben –

+0

@sohail absolut nutzlosen Kommentar – Moni

Antwort

0

Verwenden Bitmap.getPixel (int x, int y) die Farbe jedes Pixels zu erhalten und bitmap.setPixel(), um die Farbe zu ändern, was Sie mögen

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) 
Verwandte Themen