Tôi đã hai hình ảnh (A và B) hơi méo một từ khác, nơi có dịch, luân chuyển và quy mô khác nhau giữa chúng (ví dụ, những bức ảnh này :)LÀM THẾ NÀO ĐỂ sử dụng Homography để chuyển đổi hình ảnh trong OpenCV?
Ssoooooooo những gì tôi cần là để áp dụng một loại biến đổi trong pic B nên nó bù đắp sự biến dạng/dịch/luân chuyển mà tồn tại để làm cho cả hai hình ảnh với kích thước tương tự, định hướng và không có dịch
tôi đã đã trích xuất các điểm và tìm thấy Homography, như được hiển thị dưới đây. Nhưng tôi không biết làm thế nào để sử dụng Homography để biến đổi Mat img_B
vì vậy nó trông giống như Mat img_A
. Bất kỳ ý tưởng?
//-- 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);
Chúc mừng,