posso ottenere la lunghezza focale utilizzando i parametri della telecamera in Android come questo:Get fotocamera lunghezza focale OpenCV Android
Camera.Parameters parameters = camera.getParameters();
Log.d(TAG, "Focal length:"+parameters.getFocalLength());
Mi dà 3.97 (corretto). Da quando uso OpenCV per il mio progetto, io voglio usare la variabile già prevista, che è:
Log.d(TAG, "Focal length:"+Highgui.CV_CAP_PROP_ANDROID_FOCAL_LENGTH);
ma mi dà un risultato di 8005. Sono nuovo di OpenCV, quindi se qualcuno mi potrebbe dare un suggerimento, lo apprezzerei davvero.
Credo che abbia qualcosa a che fare con le unità. e Google veloce su di esso suggerisce che openCV funziona in coordinate del mondo, quindi l'8005 è una distanza in termini di pixel. Per coprire l'uno con l'altro i giovani hanno bisogno di capire il tasso di conversione, penso che ci sia una funzione di calibrazione per questo. – will
+1 Grazie! Quindi esaminerò prima la calibrazione della videocamera. Aggiornerà il post più tardi. – springrolls
@will: ho appena calibrato la fotocamera come mostrato in questo link, http://se.cs.ait.ac.th/cvwiki/opencv:tutorial:camera_calibration, e ho ottenuto valori diversi rispetto a quello che usa Highgui. fx = 3.81674438e + 003 e fy = 3.90492334e + 003 (in coordinate di pixel, suppongo). Perché? Scusami per la mia ignoranza. – springrolls