2017-12-06 6 views
0

Ich möchte die grobe Helligkeit eines Rahmens schätzen, der als ein Kameravorschaurahmen kommt, wie unten. Ich möchte, dass die Methode ziemlich schnell ist.Die Helligkeit eines YUV-Rahmens schätzen

public void onPreviewFrame(final byte[] bytes, Camera camera) { 
    // calculate brightness 
} 

Gibt es eine Möglichkeit, dies ohne Konvertierung in RGB zu tun? Es wäre auch sehr gut, wenn es eine schnelle Möglichkeit zur Bestimmung der Unschärfe gibt, ohne OpenCV zu verwenden.

Antwort

0

Ok, ich es herausgefunden mich:

      long sumY = 0; 
          for (int j = 0, yp = 0; j < previewHeight; j++) { 
           for (int i = 0; i < previewWidth; i++, yp++) { 
            int y = (0xff & ((int) bytes[yp])); 
            if (y < 0) { 
             y = 0; 
            } 

            sumY += y; 
           } 
          } 
          int bp = (int)sumY/(previewWidth * previewHeight); 
Verwandte Themen