2012-03-30 6 views
17

मुझे एक मोबाइल ऐप बनाना है जो किसी छवि में किसी ऑब्जेक्ट के वास्तविक जीवन आकार की गणना करता है।ऑब्जेक्ट और कैमरे के बीच की दूरी को नहीं जानते, जब किसी छवि से ऑब्जेक्ट का असली जीवन आकार कैसे प्राप्त करें?

मैं इस पर कुछ शोध किया और पाया उपयोगी [सवाल] है How would you find the height of objects given an image?

वस्तु का कैमरा और वास्तविक जीवन आकार की दूरी के संबंध वास्तव में है कि जटिल, आकार के अनुपात में नहीं है सेंसर पर ऑब्जेक्ट का ऑब्जेक्ट और वास्तविक जीवन में ऑब्जेक्ट का आकार ऑब्जेक्ट की फोकल लम्बाई और दूरी के बीच अनुपात के समान होता है।

distance to object (mm) = focal length (mm) * real height of the object (mm) * image height (pixels) 
          --------------------------------------------------------------------------- 
          object height (pixels) * sensor height (mm) 

लेकिन अगर दूरी ज्ञात नहीं है तो ऑब्जेक्ट की वास्तविक ऊंचाई का मूल्य कैसे प्राप्त करें?

क्या टूल्स जो छवियों से 3 डी मॉडल बनाते हैं, वास्तविक जीवन आयाम हैं?

उत्तर

25

सरल उत्तर है आप नहीं कर सकते हैं।

संयोग से, इसीलिए मनुष्यों के पास दो आंखें हैं। यदि आप ज्ञात दूरी के बिना आकार का न्याय करना चाहते हैं, तो आपको कम से कम दो संदर्भ बिंदुओं की आवश्यकता होगी। यह आपको ऑब्जेक्ट की स्थिति को त्रिकोण करने, इसकी दूरी प्राप्त करने, और आकार की गणना करने के लिए अपनी ज्ञात फोकल दूरी का उपयोग करने की अनुमति देता है।

अधिक जटिल जवाब है वहाँ उदाहरण के लिए इस आसपास तरीके हैं:

  1. एक ज्ञात संदर्भ का उपयोग करके Cheat:

    उदाहरण के लिए, यदि आप ज्ञात आकार की एक वस्तु है , आप दूरी का अनुमान लगा सकते हैं। उदाहरण के लिए, यह कैमरे को कैलिब्रेट करने के लिए NASA does के समान है।

    यदि आप किसी भवन की छवि का विश्लेषण करते समय सामान्य वस्तुओं से निपट रहे हैं, तो आप सुरक्षित धारणाएं कर सकते हैं।

  2. चारों ओर अपने कैमरे ले जाएँ:

    यह आपको एक ही कैमरे के साथ एक से अधिक संदर्भ बिंदु प्राप्त करने के लिए अनुमति देता है।

    मुझे लगता है कि आप समय टी 1 पर कैप्चर की गई छवि और टी 2 बिंदु पर कैप्चर की गई छवि के बीच स्थितित्मक संबंध को सटीक रूप से मापने के लिए एक्सेलेरोमीटर का उपयोग कर सकते हैं। यह आपको एक ही विषय की दो छवियों को उनके बीच एक ज्ञात दूरी के साथ देगा। यह आपको त्रिभुज करने की अनुमति देता है जैसे कि आपकी दो आंखें थीं।

    चाहे सामान्य हाथ से आयोजित कैमरा जिटर्स त्रिभुज के लिए पर्याप्त हों, या क्या एक्सेलेरोमीटर फोन को स्थिति में निष्क्रिय करने के लिए पर्याप्त सटीक होगा, मुझे नहीं पता।

    आपका ऐप्लिकेशन किसी मनुष्य के हाथ की पैमाने पर कुछ (या मानव शरीर रचना विज्ञान के अन्य बिट) की तुलना करने के लिए बनाया गया है, तो आप शायद सुरक्षित रूप से एक दूरी क्या लोगों पर आधारित मान सकते हैं:

  3. एक दूरी मान लें स्वाभाविक रूप से करेंगे। कैमरे की फोकस सीमाएं एक ऊपरी और निचली रेंज भी देगी कि ऑब्जेक्ट कितनी दूर हो सकती है और अभी भी फोकस में हो सकती है।यह शायद त्रुटि के सहनशील मार्जिन के भीतर होगा।

आप अपने प्रश्न में उल्लेख के रूप में, एक पूरे subfield इस सवाल के लिए समर्पित है, और यह एक active research area है।

+0

ठीक है, मेरे पास किसी छवि में संदर्भ के लिए कोई ऑब्जेक्ट नहीं है, लेकिन मेरे पास उपयोगकर्ता के लिए विभिन्न कोणों से किसी ऑब्जेक्ट की एकाधिक छवियों पर क्लिक करने का विकल्प हो सकता है। –

+0

क्या टूल्स जो छवियों से 3 डी मॉडल बनाते हैं, उनके पास वास्तविक जीवन आयाम या आनुपातिक आयाम हैं? [उदाहरण] (http://www.123dapp.com/catch) –

+3

"स्थिर लोगों, स्थानों या चीज़ों की कई डिजिटल तस्वीरें लें।" वे विधि # 2 का उपयोग करते हैं, फिर दो छवियों के बीच स्थिति में अंतर को पुनर्प्राप्त करने के लिए छवि प्रसंस्करण का उपयोग करें। – brice

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^