How to compute the homography
38 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
darova
on 19 Apr 2019
Hi, that green trapezoid is what you want. Can be found as line intersections of plane
But having all those point on a plane (in 3D) dont know how to convert them into 2D (to get that trapezoid in XY):
And how to convert image (pixels position) having that trapezoid?
See attached files
3 Comments
darova
on 21 Apr 2019
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
See Also
Categories
Find more on Geometric Transformation and Image Registration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!