2012-05-27 8 views
5

जाओ मैं इस तरह एंड्रॉयड में कैमरा मानकों का प्रयोग करके फोकल लंबाई प्राप्त कर सकते हैं:कैमरा फोकल लंबाई OpenCV एंड्रॉयड

Camera.Parameters parameters = camera.getParameters(); 
Log.d(TAG, "Focal length:"+parameters.getFocalLength()); 

यह मेरे 3.97 (सही) देता है। के बाद से मैं अपने प्रोजेक्ट के लिए OpenCV का उपयोग करें, मैं चर पहले से ही प्रदान की जाती है, जो उपयोग करना चाहते हैं:

Log.d(TAG, "Focal length:"+Highgui.CV_CAP_PROP_ANDROID_FOCAL_LENGTH); 

लेकिन यह मुझे 8005. का एक परिणाम मैं, OpenCV के लिए नया हूँ, इसलिए यदि किसी को भी मुझे एक दे सकता है देता है संकेत, मैं वास्तव में इसकी सराहना करता हूं।

+1

पर चिपकने के लिए मानते हैं कि मुझे इकाइयों के साथ कुछ करना है। और इस पर त्वरित Google विश्व निर्देशांक में ओपनसीवी कार्यों का सुझाव देता है, इसलिए 8005 पिक्सल के मामले में दूरी है। रूपांतरण दर को समझने के लिए एक से दूसरे युवा आवश्यकता को गुप्त करने के लिए, मुझे लगता है कि इसके लिए एक अंशांकन कार्य है। – will

+0

+1 धन्यवाद! तो मैं पहले कैमरे अंशांकन में देखेंगे। बाद में पोस्ट अपडेट करेंगे। – springrolls

+0

@ विल्ल: मैंने इस लिंक में दिखाए गए कैमरे को कैलिब्रेट किया है, http://se.cs.ait.ac.th/cvwiki/opencv:tutorial:camera_calibration, और हाईगुई का उपयोग कर एक की तुलना में अलग-अलग मान प्राप्त किए। एफएक्स = 3.81674438e + 003 और एफई = 3.90492334e + 003 (पिक्सेल निर्देशांक में, मुझे लगता है)। ऐसा क्यों है? मेरी अज्ञानता के लिए क्षमा करें। – springrolls

उत्तर

1

जो आप हाईगुई से उपयोग करते हैं वह स्थिर है। यह वही है जो कैमरा है। मुझे लगता है कि आप एंड्रॉइड कैमरा पैरामीटर

+1

आह, धन्यवाद! मेरा दिमाग छुट्टियों के लिए बाहर था, मुझे आपके जवाब को समझने में दो दिन लगते हैं। जबरदस्त हंसी। – springrolls