Ich möchte den Abstand zwischen der Kamera und dem erkannten Objekt berechnen. Dafür habe ich viele Methoden ausprobiert. Ich habe versucht den Winkel zwischen dem Objekt und der Kamera mittels Beschleunigungsmesser zu finden und dann
zu verwendend = h * tan a
h ist die Höhe von der Basis im Allgemeinen, was 1,4
istund ich habe versucht, den Winkel mit der Methode get orientation zu berechnen. Bitte lassen Sie mich wissen, wo ich falsch mache. Es war mehr als 2 Tage, die ich mit dieser Anforderung kämpfte. Wir haben uns verschiedene Kameraanwendungen angeschaut, die im Android Store verfügbar sind und versucht haben, die Funktionalität derselben zu verstehen, aber nichts war fruchtbar.
%Vor%Ihre getRotationMatrix gibt wahrscheinlich false zurück! Sie sollten die Werte in Ihre eigenen Vektoren kopieren, damit sie nicht durcheinander geraten! Verwenden Sie dazu die clone () -Methode!
%Vor%Mit Ihrem Code und dieser Änderung konnte ich die Azimut / Pitch / Roll-Werte erhalten, ohne diese Änderung gibt das Erfolgs-Flag false zurück:
%Vor%Sie sollten den PITCH-Wert verwenden, wenn Sie das Telefon im Hochformat halten. Wenn Sie das Telefon im Querformat halten, sollten Sie den ROLL-Wert verwenden.
Wenn Sie das Telefon in einer Höhe von 1,4 halten, haben Sie:
%Vor%Bitte beachten Sie, dass Sie RADIANS und nicht DEGREES in der Math.tan-Funktion verwenden sollten.
Ich habe hier getestet und die Werte scheinen gültig zu sein!
Tags und Links android camera accelerometer android-sensors