How to find projective transformation with 4 points?

2 vues (au cours des 30 derniers jours)
Miklós Förster
Miklós Förster le 2 Déc 2020
Hi,
I need some help for fitgeotrans() function. I have this image:
this is a 902x902 image. I cropped it from an ortophoto.
and I want to project this image specify to the camrea parameters, to get an image like to take the picture the airplane's camera and get something like this:
my code is the following:
quadrangle = [1 902; ...
902 902;...
902 1;...
1 1];
cam_width = 4096;
cam_height = 2160;
trf = fitgeotrans(quadrangle, [1 1; 1 cam_width; cam_height cam_width; cam_height 1],'projective');
projectedIm = imwarp(map.pic, trf, 'OutputView', imref2d([cam_height, cam_width]));
I allways get this:
It is clear that I am missing something:/

Réponses (1)

Tarunbir Gambhir
Tarunbir Gambhir le 22 Déc 2020
Since the image is rotated 90 degrees clockwise, the scaled "height" and "width" should be interchanged while specifying the fixed points in fitgeotrans function.
Change the "trf" variable as following:
trf = fitgeotrans(quadrangle, [1 1; 1 cam_height; cam_width cam_height; cam_width 1],'projective');

Catégories

En savoir plus sur Data Import and Export dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by