MATLAB Answers

How to find projective transformation with 4 points?

조회 수: 4(최근 30일)
Miklós Förster
Miklós Förster 2020년 12월 2일
답변: Tarunbir Gambhir 2020년 12월 22일
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:/

답변(1개)

Tarunbir Gambhir
Tarunbir Gambhir 2020년 12월 22일
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');

Community Treasure Hunt

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

Start Hunting!

Translated by