मैंने दो तस्वीरें (ए और बी) से थोड़ा अन्य, जहां (उदाहरण के लिए, इन चित्रों :)OpenCV में चित्रों को बदलने के लिए होमोग्राफी का उपयोग कैसे करें?
उन दोनों के बीच अनुवाद, रोटेशन और पैमाने मतभेद हैं से एक विकृत
Ssoooooooo मैं क्या जरूरत पिक बी में परिवर्तन का एक प्रकार लागू करने के लिए तो यह विरूपण/अनुवाद/रोटेशन एक ही आकार, ओरिएंटेशन के साथ और कोई अनुवाद के साथ दोनों चित्रों बनाने के लिए मौजूद है कि क्षतिपूर्ति है
मैं पहले से ही है बिंदुओं को निकाला और Homography पाया, जैसा कि दिखाया गया है। लेकिन मुझे नहीं पता कि Mat img_B
को बदलने के लिए होमोग्राफी का उपयोग कैसे करें, इसलिए यह Mat img_A
जैसा दिखता है। कोई उपाय?
//-- Localize the object from img_1 in img_2
std::vector<Point2f> obj;
std::vector<Point2f> scene;
for (unsigned int i = 0; i < good_matches.size(); i++) {
//-- Get the keypoints from the good matches
obj.push_back(keypoints_object[good_matches[i].queryIdx].pt);
scene.push_back(keypoints_scene[good_matches[i].trainIdx].pt);
}
Mat H = findHomography(obj, scene, CV_RANSAC);
चीयर्स,