2010-05-18 13 views
14

Heyguys .. यह बिल्कुल एक प्रोग्रामिंग सवाल बिल्कुल नहीं है। मैं सिर्फ यह जानना चाहता हूं कि डिजिटल छवि प्रसंस्करण में एक आम समस्या के लिए आपका दृष्टिकोण क्या होगा।आप छवियों की ऊंचाई को कैसे प्राप्त करेंगे?

चलें कहते हैं कि तुम कहते jpg प्रारूप में एक कुछ पेड़ की एक छवि है। आप इन पेड़ों में से प्रत्येक की ऊंचाइयों को खोजने के बारे में कैसे जाएंगे। फोटो आपके पास एकमात्र इनपुट है।

मैं उन दृष्टिकोणों को जानना चाहता हूं जिनके पास आपके पास कोड नहीं है। इसलिए इससे कोई फर्क नहीं पड़ता कि आपके उत्तर अस्पष्ट हैं, या गैर डीआईपी-आईएसएच हैं।

छोटे सुधार: ऊंचाई पेड़ की वास्तविक ऊंचाई होने की जरूरत नहीं। ऊंचाई किसी भी पैमाने पर ले जाया जा सकता है। लेकिन तस्वीर में सभी वस्तुओं के अनुरूप होना चाहिए।

+3

अगर फोटो आपके पास एकमात्र इनपुट है, तो यह नहीं किया जा सकता है। एक दूरसंचार के पेड़ पर एक बोन्साई पेड़ पर विचार करें, एक पूर्ण आकार के वृक्ष के आगे से फोटो खिंचवाया .... –

+1

यदि आपको exif से दिनांक और स्थान मिलता है तो आपको कुछ छाया पहचान करने की ज़रूरत है। तब आपके पास पाइथागोरियन प्रमेय का उपयोग करके ऊंचाई की गणना करने के लिए सब कुछ होगा। – zaf

+0

@ जिम लेविस - क्या तस्वीर ने मेटाडेटा को जोड़ा है, जैसे लेंस की जानकारी और फोकल लम्बाई? क्योंकि यदि आप उस पेड़ से दूरी, और पिक्सेल-टू-इंच (या पैर, या जो कुछ भी) जानते हैं, तो यह पेड़ को पृष्ठभूमि से अलग करने का मामला है। – mmr

उत्तर

6

हां यह संभव है। क्या आप का वर्णन कर रहे हैं उसके चारों ओर एक पूरे उद्योग, Photogrammetry

+0

दिलचस्प। उसके लिए धन्यवाद! – Laz

+0

मुझे नहीं पता कि यह कहां से जवाब के करीब आता है। हालांकि यह एक अच्छा लिंक है ... –

+0

@ दाज-दंजन: मुझे लगता है कि आप एक अलग सवाल पढ़ रहे हैं? –

0

मान लिया जाये कि वे सभी एक ही दूरी पर कर रहे हैं, पैमाने पर करने के सभी, आप माप आप गारंटी ले सकते हैं की एक इकाई लगाने के लिए चाहते हैं। उदाहरण के लिए, यदि फोटो में एक व्यक्ति है, फिर से, एक ही पैमाने पर, और आप जानते हैं कि वे बिल्कुल 6 फीट लंबा हैं, तो आप इसे अपने उपाय के रूप में उपयोग करते हैं। फिर आप इसे लेते हैं, और गिनते हैं कि कितने ढेर पेड़ बनाते हैं। उदाहरण के लिए, यदि आपको इस व्यक्ति के 3.5 की आवश्यकता है, तो:

3.5 * 6 = 21 

आपको 21 फुट लंबा पेड़ देता है।

सब कुछ के लिए संदर्भ का एक बिंदु के बिना, या अगर वे अलग तराजू पर सभी कर रहे हैं, तो आप एक बहुत अधिक जानकारी की जरूरत की तुलना में आप आसानी से वहाँ गया बिना मिल सकता है जाएगा।

0

मैं जाना जाता आयामों की एक वस्तु पर निर्भर हैं चित्र में उपस्थित रहने के लिए। उदाहरण के लिए, एक आदमी।

या शायद, हम EXIF ​​डेटा का उपयोग, कैमरे के सेंसर आयाम, लेंस और फोकल इस्तेमाल किया लंबाई के आधार पर वस्तु के आकार इंजीनियर को बदलने का हो सकता है। यह फिर कोण पर निर्भर करता है। कैमरे को इस विषय के लंबवत होने पर हमें सबसे सटीक परिणाम मिलना चाहिए।

+0

एक आदमी ज्ञात आयामों का नहीं है। जब तक आप नहीं जानते कि वह खड़ा है और उसकी स्थायी ऊंचाई है। – mmr

+0

अच्छा लगता है। लेकिन आप प्रत्येक वस्तु को अलग कैसे करेंगे? पृष्ठभूमि आदि से वस्तु – Laz

4

कहा जाता है कि इस क्षेत्र में कंप्यूटर दृष्टि अनुसंधान भी पर्याप्त मात्रा में है। मान लें आप कैमरे की कमी नहीं पता है, आप दृश्य और कैमरे के बारे में मान्यताओं पैमाने कारक पर निर्भर ऊंचाइयों निर्धारित करने के लिए बनाने के लिए होगा। ध्यान दें कि छवि में कैमरे की बाधाओं या संदर्भ ऊंचाई के बिना एक दूरी से फोटोग्राफ किए गए एक लंबे पेड़ के बीच अंतर या एक छोटे पेड़ के करीब फोटो खिंचवाने के बीच अंतर बताना असंभव है। Criminisi द्वारा Single View Metrology काम की एक महान शुरुआत है।

+0

इसके लिए धन्यवाद। लेकिन देखो कि मैं सटीक ऊंचाई या कुछ भी नहीं ढूंढ रहा हूं। मैं बस वस्तुओं की सापेक्ष ऊंचाई चाहता हूँ। किसी भी चीज़ के सापेक्ष ले लिया 0 आप चाहते हैं। मैं इसे तस्वीर में कैसे मापूं? – Laz

+0

क्या आपने उस दस्तावेज़ को देखा जो मैंने संदर्भित किया था? यह सही आवेदन है। – jeff7

-4

यदि आपकी छवि 3 * 3 है और आप छवि का आकार (यानी 3x3..so 3x3 = 9) खोजना चाहते हैं तो हमारे पास 0 से 8 तक 8 पिक्सल शुरू हो गए हैं। इसलिए 9/8 = (___) केबी।

आप उपरोक्त उदाहरण कर की तरह, एमबी में छवि का आकार को खोजने के लिए, बस ऐसे ही करते हैं (9/8)/(1024) चाहते हैं = (----) एमबी ..

तो तुम एमबी में परिणाम मिलेगा।

2

फोटोग्रामेट्री का उपयोग कर छवियों से ऑब्जेक्ट का आकार ढूंढना आसान है। फोटोग्रामेट्री तस्वीरों से माप बनाने का विज्ञान है। इस हम दो बातें पता करने की जरूरत के लिए,

  • कैमरा और छवि विमान (कैमरे से दूरी आपत्ति करने के लिए) के बीच की दूरी।
  • फोकल-लम्बाई (मिमी और पिक्सल प्रति मिमी) या छवि सेंसर का भौतिक आकार।

    कैमरा

    उपयोग openCV कैलिब्रेट camera.You ठीक करना OpenCV calibrate.py उपकरण और बिसात पैटर्न का उपयोग कर सकते में प्रदान की जाती PNG:

के बाद कदम हैं एक अंशांकन मैट्रिक्स उत्पन्न करने के लिए स्रोत कोड। कैमरा पैरामीटर खोजने के लिए कैमरा अंशांकन किया जाता है। मैंने अपने वेबकैम (मेरे वेबकैम को कैलिब्रेट करने के लिए) के साथ कई कोणों से शतरंज की तस्वीरों की लगभग एक दर्जन तस्वीरें लीं। अधिक जानकारी के लिए openCV camera calibration देखें।

हमें अंशांकन मैट्रिक्स से f_x, f_y, c_x, c_y मिलेगा।

आपके द्वारा ली गई तस्वीरों के विवरण की जांच करने के लिए, आपको फ़ोटो (heightXwidth) का मूल संकल्प मिलेगा और उनके EXIF headers में आप फोकल लम्बाई मान (एफ) पा सकते हैं। ये आइटम आपके कैमरे के आधार पर भिन्न हो सकते हैं। मिलीमीटर

प्रति

पिक्सल हम इमेज सेंसर पर मिलीमीटर प्रति पिक्सल (पिक्सल/मिमी) जानना चाहते हैं।

f_x = च * m_x

f_y = च * m_y

जब से हम प्रत्येक सूत्र के लिए चर के दो है हम m_x और m_y.I के लिए हल कर सकते हैं बस f_x और f_y औसतन f_xy पाने के लिए।

मीटर = f_xy/focal_length_of_camera

चित्र सम्मिलित करें

अपनी छवि डालें जिसमें से आप छवि के वास्तविक आकार खोजने की जरूरत है। आपको ऑब्जेक्ट और कैमरे के बीच की दूरी जाननी चाहिए। छवि (height1Xwidth1)

के आयाम का पता लगाएं पिक्सल

में वस्तु का पता लगाएं आकार पिक्सल में वस्तु के आकार को निर्धारित करें। मैं बस एक चयनित लाइन की लंबाई खोजने के लिए दूरी सूत्र का उपयोग करता हूं। आप किसी अन्य विधि को अपना सकते हैं।

Convert पिक्सल कम रिज़ॉल्यूशन

pxpermm_in_lower_resolution = (width1 * मी) में/mm/चौड़ाई

इमेज सेंसर में वस्तु का आकार

size_of_object_in_image_sensor = object_size_in_pixels/(pxper mm_in_lower_resolution)

वस्तु

वस्तु के वास्तविक आकार के रूप में ऊपर डेटा के साथ पाया जा सकता है की वास्तविक आकार,

real_size = (जिले * size_of_object_in_image_sensor)/FOCAL_LENGTH

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