We can see correlation value between matched images.
MatchesInfo has follow element.
struct CV_EXPORTS MatchesInfo { MatchesInfo(); MatchesInfo(const MatchesInfo &other); const MatchesInfo& operator =(const MatchesInfo &other); int src_img_idx, dst_img_idx; // Images indices (optional) std::vector matches; std::vector inliers_mask; // Geometrically consistent matches mask int num_inliers; // Number of geometrically consistent matches Mat H; // Estimated homography double confidence; // Confidence two images are from the same panorama };
http://feelmare.blogspot.kr/2013/12/finding-largest-subset-images-that-is.html-> you can see find feature and matching example source.
we can see correlation value from below source code.
...
printf("pairwise_matches %d \n", pairwise_matches.size() ); for(int i=0; i < pairwise_matches.size(); ++i) { printf("%d \n", i ); printf("%d -> %d \n", pairwise_matches[i].src_img_idx, pairwise_matches[i].dst_img_idx ); printf("num inliers = %d\n", pairwise_matches[i].num_inliers); cout << "H " << pairwise_matches[i].H << endl; printf("confidence = %lf \n", pairwise_matches[i].confidence ); printf("---\n"); }---
In here, confidence value is calculate by
...
// These coeffs are from paper M. Brown and D. Lowe. "Automatic Panoramic Image Stitching // using Invariant Features" matches_info.confidence = matches_info.num_inliers / (8 + 0.3 * matches_info.matches.size()); // Set zero confidence to remove matches between too close images, as they don't provide // additional information anyway. The threshold was set experimentally. matches_info.confidence = matches_info.confidence > 3. ? 0. : matches_info.confidence;---
If cofidenc value is lower than 1, we think the images are not relative image(no overlap image).
No comments:
Post a Comment