Das ist mein Verständnis, korrigieren Sie mich, wenn ich falsch liege:
Wenn wir bei iOS-Geräten die Kamera im Hochformat halten, nimmt der native Sensor das Bild immer noch im Querformat nach links auf (wir müssen das Bild also für die beabsichtigte Ausrichtung um 90 Grad nach rechts drehen) für die Rückkamera. Bei der Frontkamera wird immer noch im Querformat links aufgenommen, aber zusätzlich wird es auch gespiegelt.
Angenommen, dieses Beispielbild stammt aus dem Internet

Ich habe zwei Ansätze ausprobiert:
I-) Im VNImageRequestHandler habe ich die Ausrichtung auf eingestellt .right, damit sich die erfassten Puffer nach rechts drehen würden, aber das taten sie nicht. Ich dachte, das würde funktionieren.

II-) In der Kamerakonfiguration habe ich videoOrientation auf AVCaptureVideoOrientation.portrait gesetzt, dadurch wurde die Aufnahmeausrichtung der Puffer korrigiert.
Nach meinem Verständnis, wenn ich die Ausrichtung auf setze .up(Standard) in VNImageRequestHandler, es sollte funktionieren, oder? Der erfasste Puffer hatte die richtige Ausrichtung, aber der Zuschnitt wurde nicht richtig angewendet.

Aber als ich die Ausrichtung im Anforderungshandler auf .downMirrored gesetzt habe, funktionierte es korrekt, die Puffer hatten die richtige Ausrichtung und der Zuschnitt war auch gut.

Warum funktioniert .downMirrored (auf den Kopf gestellt und horizontal gedreht) und nicht der erste Ansatz?
Mobile version