I've started to learn OpenCV two weeks ago, so don't be too harsh.
I have two high-resolution images with a nearby 30% overlap. The first photo is rotated relative to the second and transformed (photos from different angles). I need to make one combined image.
I decided to use KeyPoints to find the same areas in different images. I used the BRISK detector. After detecting I used KeyPointsFilter::retainBest() function to left only 1000 the best areas. After that, I computed descriptors and using DescriptorMatcher::create(DescriptorMatcher::BRUTEFORCE) function matched all the descriptors. But I've got too many different matches. So Further I sorted all the matches and selected matches with prevailing shifting. Thus I've got about 100 KeyPoints that really match each other on different images (matching result got with drawMatches() function is shown below)
But images are not just shifted. They are rotated and transformed, so I can't just use Mat::copyTo() function for merging two images into a new larger one, because there is no common shifting distance for all the keyPoints. Is there any function in OpenCV that can connect two images with preliminary angle transform?