ENB339 lecture 9: Image geometry and planar homography

Peter Corke · 184K views · 2012 · 35:23

Open on YouTube

Computer vision, speech & NLPUniversity lectures & coursesRoboticslecture

Why Stack Overflow recommends it

Stack Overflow users link it when explaining homographies, perspective projection and camera matrices to people working on image stitching, camera calibration and pose estimation in OpenCV.

Recommended by 5 people across 5 different months, 2014 to 2021.

What it is

A 35-minute university lecture by Peter Corke from the ENB339 robotics and vision course. It covers the image formation equation in matrix form with homogeneous coordinates, then introduces the planar homography that maps points on a world plane to the image plane, with worked uses. The description notes an error at 25:55 where the inverse homography should be used.

What people said

Recommends user3473830 · 2014-10 · Stack Overflow · on “about wiimote wrapper class”

These two methods are used for translating camera space coordination and display coordinates to each other ( computeSquareToQuad for translating from camera coordinates to display and computeQuadToSquare for reverse of it), When you look at the world through a camera, the result is a flat image and everything is distorted according to perspective rules. (for example squares transform into trapezoids). this distortion can be encapsulated by a warping matrix called a planar homography . you essentially need a 3x3 matrix for calculation (note the normally 4x4 matrix is used because it can be easily integrated in 3D pipelines) for more information have a look at [LINK] [this video]

Recommends n00dle · 2015-04 · Stack Overflow · on “How can I stitch images from video cameras in real time?”

cv::Stitcher is fairly slow. If your cameras definitely don't move relative to one another and the transformation is as simple as you say, you should be able to overlay the images onto a blank canvas simply by chaining homographies [this video] . The following is somewhat mathematical - if this isn't clear I can write it up properly using LaTeX, but SO doesn't support pretty maths :) You have a set of 4 cameras, from left to right, (C_1, C_2, C_3, C_4) , giving a set of 4 images (I_1, I_2, I_3, I_4) . To transform from I_1 to I_2 , you have a 3x3 transformation matrix, called a homography. We'll call this H_12 . Similarly for I_2 to I_3 we have H_23 and for I_3 to I_4 you'll have H_34 . You can p

Recommends Jean-François Bourdon · 2019-08 · Stack Overflow · on “How to construct camera matrix from known parameters”

I wish to project an image taken with a camera for which I know all parameters (focal length, sensor size, X, Y, Z, rotation (omega, phi, kappa) on a 2D plane. I know that I need to construct a camera matrix before being able to do the planar homography, but how? I've successfully produced a matrix using 4 known pairs of points on each plane following this answer [LINK] , but it's not the way I want to do it. I've looked at this video [this video] that give me almost all my answers, hovewer the matrix named "extrinsic parameters" is not enterely described. How the rotation matrix R and the matrix T of the camera position should be constructed? With the final camera matrix in hand, is suppose I wi

Recommends George Profenza · 2021-05 · Stack Overflow · on “Homography matrix computation”

I'd look into a few lectures (such as Image geometry and planar homography [this video] ). I wish I could point you to the direct answer. My hunch is it might have something to do with avoiding ambiguity: having a system of equations that results in a single valid solution as opposed to multiple solutions.

Recommends Grétar Már · 2021-10 · Stack Overflow · on “Why do I have to divide by Z?”

I guess it is because you are going from 3 dimensions to 2 dimensions, so you are normalizing the 3 dimension world to a 2 dimensional coordinates. P = (X,Y,Z) in 3D will be q = (x,y) in 2D where x=X/Z and y = Y/Z So a circle in 3D will not be circle in 2D. You can check this video out: [this video] I hope I understand your question correctly.

Cites Ash · 2017-11 · Stack Overflow · on “ransac with homography vs 8/5 point algorithms”

First of all, note that you still need RANSAC with the 8-point or 5-point algorithms, since in practice outliers are to be expected in the matching process. I think the main downside of pose from homography is that the point matches you use need to be coplanar. Additionaly, if I'm not mistaken, in a scene with more than one plane, you might get different homographies depending on which planes you select in the scene. That is why applying a homography to correct perspective adds distortion to some other parts of the image (see the example in this [this video] video). So in complex scenes ( e.g. urban environements) where matching is more difficult, I'd use one of the 8-point or the 5-point algorit