2012-07-05 12 views
10

ओपनसीवी में हौफलाइन या हौफलाइन पी कार्य करता है, हौकक्रैक्सेस फ़ंक्शन जैसे संचयक आदेश में लाइनों की सूची लौटाता है? मैं लाइनों के क्रम को जानना चाहता हूं। यह लाइनों के लिए संचयक मूल्य प्राप्त करने के लिए भी बहुत आसान होगा, इसलिए एक निश्चित व्यक्ति के बजाय एक बुद्धिमान और अनुकूली दहलीज का उपयोग किया जा सकता है। क्या ऑर्डरिंग या संचयक मूल्य rewriting OpenCV myself के बिना उपलब्ध है?ओपनसीवी कठिन मजबूत लाइनें

+1

अच्छा एक यहाँ है। मैंने हमेशा माना कि लाइनें क्रम में दी गई थीं। और यह धारणा अब तक मेरे परिणामों के अनुरूप रही है ... हालांकि, यह सुनिश्चित करना अच्छा होगा। –

उत्तर

11

हौट्रांसफॉर्म आदेशों की संख्या से उतरने वाली ऑर्डर लाइनें। आप कोड here

हालांकि, फ़ंक्शन रिटर्न के रूप में वोट गिनती खो जाती है - इसे ओपनसीवी को संशोधित करने का एकमात्र तरीका है।

अच्छी खबर यह है कि यह बहुत जटिल नहीं है - मैंने इसे स्वयं एक बार किया था। यह आउटपुट को vector<Vec2f> से vector<Vec3f> में बदलने के लिए मिनटों का मीटर है और वोट गिनती के साथ अंतिम पैरामीटर को पॉप्युलेट करता है।

इसके अलावा, आप तीसरे पैरामीटर जोड़ने का CvLinePolar संशोधित करने के लिए है - hough C में कार्यान्वित किया जाता है, और वहाँ C++ में इस पर एक आवरण है, तो आप दोनों के कार्यान्वयन और आवरण को संशोधित करने के लिए है।

मुख्य कोड को संशोधित करने

for(i = 0; i < linesMax; i++) 
{ 
     CvLinePolar line; 
     int idx = sort_buf[i]; 
     int n = cvFloor(idx*scale) - 1; 
     int r = idx - (n+1)*(numrho+2) - 1; 
     line.rho = (r - (numrho - 1)*0.5f) * rho; 
     line.angle = n * theta; 

     // add this line, and a field voteCount to CvLinePolar 
     // DO NOT FORGET TO MODIFY THE C++ WRAPPER 
     line.voteCount = accum[idx];   

     cvSeqPush(lines, &line); 
} 
+0

यह स्पष्ट करने और कोड को इंगित करने के लिए धन्यवाद। मैं संभाव्य संस्करण का उपयोग कर रहा हूं और कोड के माध्यम से जा रहा हूं, चीजों को गति देने के लिए लाइनों को मैक्स आउट करना अच्छा लगेगा। – zzzz

+1

संभाव्यता एक ही फ़ाइल में है, मुझे लगता है कि आपको पहले से ही यह मिला है। लाइन खोज में अलग-अलग दृष्टिकोण का अर्थ है कि वोट गणना शास्त्रीय एच में उतनी प्रासंगिक नहीं है। जब तक कि लाइन में न्यूनतम आवश्यक वोट होते हैं, तो परिणामस्वरूप कतार में इसे धक्का दिया जाता है। कोई सॉर्टिंग नहीं की जाती है। – Sam

+0

हैलो, इस धागे को संशोधित करने के लिए खेद है, लेकिन क्या आपके पास संभावित रूप से आटा परिवर्तन में संचयक मूल्य प्राप्त करने के लिए hwo है? मुझे पूरा यकीन नहीं है कि संचयक मैट्रिक्स में लाइन के वोट कहां हैं। – Aeefire