How to find projective transformation with 4 points?

2 visualizaciones (últimos 30 días)
Miklós Förster
Miklós Förster el 2 de Dic. de 2020
Respondida: Tarunbir Gambhir el 22 de Dic. de 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:/

Respuestas (1)

Tarunbir Gambhir
Tarunbir Gambhir el 22 de Dic. de 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');

Categorías

Más información sobre Data Import and Export en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by