मैं ओपनसीवी के साथ एक स्टीरियो जोड़ी छवियों से गहराई का अनुमान लगाने की कोशिश कर रहा हूं।असमानता मानचित्र से ओपनसीवी गहराई अनुमान
(Baseline*focal)
depth = ------------------
(disparity*SensorSize)
मैं ब्लॉक मिलान तकनीक का इस्तेमाल किया दो rectificated छवियों में एक ही अंक खोजने के लिए: मैं असमानता मानचित्र और गहराई आकलन के रूप में प्राप्त किया जा सकता है। ओपनसीवी कुछ ब्लॉक मिलान पैरामीटर सेट करने की अनुमति देता है, उदाहरण के लिए BMState->numberOfDisparities
।
के बाद ब्लॉक मिलान प्रक्रिया:
cvFindStereoCorrespondenceBM(frame1r, frame2r, disp, BMState);
cvConvertScale(disp, disp, 16, 0);
cvNormalize(disp, vdisp, 0, 255, CV_MINMAX);
मैं गहराई मूल्य पाया के रूप में:
if(cvGet2D(vdisp,y,x).val[0]>0)
{
depth =((baseline*focal)/(((cvGet2D(vdisp,y,x).val[0])*SENSOR_ELEMENT_SIZE)));
}
लेकिन obtaied गहराई मूल्य BMState->numberOfDisparities
का मूल्य की वजह से पिछले फार्मूले के साथ obtaied मूल्य से अलग है जो परिणाम मूल्य बदलता है।
मैं इस पैरामीटर को कैसे सेट कर सकता हूं? इस पैरामीटर को बदलने के लिए क्या?
धन्यवाद
आपके उत्तर के लिए थक्स, मैं दो संशोधित छवियों को ब्लॉक मिलान प्रक्रिया में देता हूं, इसलिए इस सूत्र को सही काम करना चाहिए? अब मैं reprojectImageTo3D फ़ंक्शन का उपयोग करने का प्रयास करूंगा। इटालियन संस्करण: डल नोम क्रेडिटो चे टू सिया इटालियनो, क्विंडी प्रति यून मैग्गीर चियारेज़ा (प्रति मेरे); से उपयोग करने के लिए आवेदन कर रहे हैं और अधिक जानकारी के लिए आवेदन कर रहे हैं? सेव उपयोग करने के लिए ReprojectImageTo3D dovrei estrapolare soltanto il valore z? Grazie प्रति ला risposta। – Speed87
परिभाषित करें "काम करना चाहिए"? समानांतर कैमरा सूत्र आपको एक आदर्श कैमरे के संबंध में दिए गए पिक्सेल पर गहराई देता है जो संशोधित छवि को देखता है। इसका पुनर्निर्माण परियोजनात्मक रूप से होगा, लेकिन मेट्रिक रूप से सटीक नहीं होगा। [हाँ, मैं इतालवी बोलता हूं, लेकिन यह एक अंग्रेजी-केवल मंच है] –