2016-10-02 4 views
0

Ich erstelle derzeit eine Android-Kamera in meiner Anwendung, jedoch das Bild, das ich auf der Oberflächenansicht (direkt vor der Aufnahme) und das aufgenommene Bild sind leicht unterschiedlich, in dem das aufgenommene Bild abgeschnitten wird aus. HierKamera Vorschau unterscheidet sich von Bitmap

ist die Bildvorschau vor dem Bild unter: https://drive.google.com/file/d/0B4vL9wnJulKocGF1ejJxX1c5Qms/view?usp=sharing

und hier ist das aufgenommene Bild: https://drive.google.com/file/d/0B4vL9wnJulKoUWREYngxWFk3aXc/view?usp=sharing

Hier wird die XML-Datei für die Kameravorschau

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:adjustViewBounds="true" 
    android:id="@+id/camera_preview" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true"> 
</RelativeLayout> 

Hier ist die XML-Datei für das aufgenommene Bild:

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:adjustViewBounds="true" 
    android:id="@+id/capturedImageHolder" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

Kann jemand helfen? danke

Antwort

0

Es gibt keinen Vertrag, dass das aufgenommene Bild genau der Vorschau entspricht. Tatsächlich macht die Kamera während der Vorschau und der Aufnahme verschiedene Aufgaben: Erstere ist auf Geschwindigkeit und Akku optimiert, letzteres auf Bildqualität. Es gibt jedoch einige Möglichkeiten, Sie können sie ähnlicher machen.

Stellen Sie zunächst sicher, dass das Seitenverhältnis für die ausgewählte Vorschaugröße dem Seitenverhältnis für die Bildgröße entspricht. Sie können Ihr Ergebnis weiter verbessern, wenn Sie dieselbe Größe für Vorschau und Bild wählen (beachten Sie, dass dies oft bedeutet, dass Sie ein Bild mit relativ niedriger Auflösung erhalten).

Dies garantiert immer noch nicht, dass die Bilder perfekt übereinstimmen, da die Aufnahme möglicherweise Fokussierung und auch etwas Verzögerung beinhaltet, was bedeutet, dass sich die Szene ändert.

Sie können versuchen, die Vorschau fokussiert zu halten und den Fokus während der Aufnahme einzufrieren. Ich glaube, dass dies eine Abstimmung für Ihr spezifisches Gerät erfordert (welche Fokusmodi es unterstützt usw.), um die besten Ergebnisse zu erzielen.

Schließlich können Sie einfach das neueste Vorschaubild verwenden, um das Bild zu speichern, anstatt "Capture" zu machen. Dies ergibt die beste Übereinstimmung, aber die Bildqualität kann schlechter sein.

+1

Ich habe berücksichtigt, was Sie gesagt und einige der Vorschläge umgesetzt, My Image Preview zu aufgenommenen Bild ist jetzt ziemlich genau. Vielen Dank – BadCodersHub

0

Vermutlich sind die Vorschauauflösung und die Bildauflösung unterschiedlich. Dies ist nicht ungewöhnlich; in der Tat ist es nicht erforderlich, dass das Gerät identische Auflösungen zwischen Vorschau und Bild bietet.

Verwandte Themen