Ich arbeite an einer Android-App, die OpenCV 3.1.0 verwendet und die Kameravorschau anzeigt. Anfangs nennen wir setMaxFrameSize (640, 480), weil die Verarbeitung, die benötigt wird, schwer ist und wir nicht die beste Videoqualität benötigen, die die Kamera bietet. Die App funktioniert auf jedem Gerät außer dem Telefon des Kunden. Klassische Geschichte, nicht wahr?setPreviewSize in OpenCV
Das genaue Problem ist die Tatsache, dass, obwohl wir die maximale Rahmengröße zu 640 x 480, auf seinem Gerät (Samsung J3) die Auflösung wird 1280 x 720.
ich in JavaCameraView Datei sah explizit festgelegt von OpenCV und aufgerufene getSupportedPreviewSizes. 640 x 480 ist in dieser Liste. Alles funktioniert gut, wir setzen einige Parameter und am Ende rufen wir mCamera.setParameters (params) auf;
Die nächste Zeile in der Klasse ist: params = mCamera.getParameters();
Bei der Einstellung der Parameter, params.getPreviewSize() = 640 x 480. Nach mCamera.getParameters() aufgerufen wird, wird die params.getPreviewSize() 1280 seine x 720. Und es ist nur auf diesem Gerät wiedergegeben werden.
Ich habe die App auf Nexus 6P, Samsung S6, Samsung Tablet und ein paar Telefone getestet und alles funktioniert gut, die Auflösung ist 640 x 480. Aber auf Samsung J3, was Auflösung ich einstellen werde, wird die Kamera einen 1280 x 720 Frame anzeigen.
Vielen Dank!
Aktualisierung: 2 Tage später. Habe keine Lösung gefunden.
Danke Alex! –