मैं एक प्रोग्राम बना रहा हूं जो ओपनसीवी (2.43) से ओआरबी के साथ सुविधाओं को ट्रैक करता है, मैंने this tutorial का पालन किया और सलाह from here का उपयोग किया।ओपनसीवी की खोजहोमोग्राफी बकवास परिणाम पैदा करती है
मेरा लक्ष्य वीडियो फ़ीड (चेहरे) में ऑब्जेक्ट को ट्रैक करना और इसके चारों ओर एक आयत खींचना है।
मेरे कार्यक्रम keypoints पाता है और उन्हें सही ढंग से मेल खाता है, लेकिन (हालांकि कभी कभी यह सही homography रिटर्न) जब मैं findHomography
+ perspectiveTransform
उपयोग करने के लिए छवि के लिए नए कोनों खोजने की कोशिश आम तौर पर कुछ बकवास प्रकार मान देता है।
Mat H = findHomography(obj, scene, CV_RANSAC);
//-- Get the corners from the image_1 (the object to be "detected")
std::vector<Point2f> obj_corners(4);
obj_corners[0] = cvPoint(0,0); obj_corners[1] = cvPoint(img_object.cols, 0);
obj_corners[2] = cvPoint(img_object.cols, img_object.rows); obj_corners[3] = cvPoint(0, img_object.rows);
std::vector<Point2f> scene_corners(4);
perspectiveTransform(obj_corners, scene_corners, H);
//-- Draw lines between the corners (the mapped object in the scene - image_2)
line(img_matches, scene_corners[0] + Point2f(img_object.cols, 0), scene_corners[1] + Point2f(img_object.cols, 0), Scalar(0, 255, 0), 4);
line(img_matches, scene_corners[1] + Point2f(img_object.cols, 0), scene_corners[2] + Point2f(img_object.cols, 0), Scalar(0, 255, 0), 4);
line(img_matches, scene_corners[2] + Point2f(img_object.cols, 0), scene_corners[3] + Point2f(img_object.cols, 0), Scalar(0, 255, 0), 4);
line(img_matches, scene_corners[3] + Point2f(img_object.cols, 0), scene_corners[0] + Point2f(img_object.cols, 0), Scalar(0, 255, 0), 4);
कोड के बाकी व्यावहारिक रूप से लिंक मैं प्रदान की के समान ही है:
यहाँ इसी समस्याग्रस्त हिस्सा है:
यहाँ एक उदाहरण तस्वीर है। खींची गई रेखाएं पूरी तरह यादृच्छिक लगती हैं, मेरा लक्ष्य केवल नए दृश्य में स्रोत ऑब्जेक्ट का न्यूनतम आयत प्राप्त करना है, इसलिए यदि होमोग्राफी का उपयोग करने का विकल्प भी है जो काम करता है।
पीएस ट्रैक करने के लिए स्रोत छवि एक ऐसा क्षेत्र है जिसे वीडियो इनपुट से कॉपी किया गया है और उसके बाद उस इनपुट से नई तस्वीरों में ट्रैक किया गया है, क्या इससे कोई फर्क पड़ता है?
अधिक जानकारी प्रदान करना उदा। आउटपुट की छवियां उपयोगी होंगी। –
अच्छा यह यहां कुछ है: http://dl.dropbox.com/u/5481096/Clipboard02.jpg। – user2184001
मैंने छवि को आपके प्रश्न में संपादित किया। यदि आप भविष्य में अधिक जानकारी प्रदान करना चाहते हैं तो अपने प्रश्न को संपादित करना सबसे अच्छा है ताकि अधिक लोग इसे आसानी से देख सकें। –