How to compute the homography

Dear Community,
I have some issue to getting the trasnform image for homography
I want to apply the homography to an image, I do have homography martix from the general formulation
H = R+1/d*n*t'
H = rotation_matrix + t.* Normal
H =
0 -1.0000 0
-0.3420 0 -0.9397
5.9397 5.0000 4.6580
The basic concept of idea is to trying get image from vitrual camera, so the question I that how I can get the image from virtual camera ?
As you can see figure below , I have perspective image but I want to use inverse perspective mapping
Thanking you so much
3D2D.jpg

 Accepted Answer

darova
darova on 19 Apr 2019
Hi, that green trapezoid is what you want. Can be found as line intersections of plane
mmm.png
But having all those point on a plane (in 3D) dont know how to convert them into 2D (to get that trapezoid in XY):
mm1.png
And how to convert image (pixels position) having that trapezoid?
mm2.png
See attached files

3 Comments

Thank you so much darova for your answer
But having all those point on a plane (in 3D) dont know how to convert them into 2D (to get that trapezoid in XY):
Well, I want to know that how do you convert then into 2D in XY plane, I saw plot and really intresting, actually I need that answer, It will really appricate, if you provide my answer
Thanks once agian
Create vectors Nx, Ny first:
NX = cross([0 0 1],-NZ); % camera X-axis
NX = NX/norm(NX);
NY = cross(NX, NZ); % camera Y-axis
NY = NY/norm(NY);
Then using dot product convert each point in 2D:
Where, P = (x,y,z) - point on plane
Untitled.png
Thank you so much darova for your answer,
I get some idea, now I understand how to deal with situation,
Really apppericate for your help,
I wish in future you will clear my doubt as you did now
Thanks in advance

Sign in to comment.

More Answers (1)

tform = projective2d(H);
newImage = imwarp(oldImage,tform);

2 Comments

how i can apply it on input image?
That's what this line does
newImage = imwarp(oldImage,tform);

Sign in to comment.

Asked:

on 18 Apr 2019

Commented:

on 28 Dec 2019

Community Treasure Hunt

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

Start Hunting!