Calibrate a camera using cvCalibrateCamera2()
and
at least 15 images of chessboards. Then use cvProjectPoints2()
to project an arrow orthogonal to the chessboards (the
surface normal) into each of the chessboard images using the rotation and translation
vectors from the camera calibration.
Three-dimensional joystick. Use a simple known object with at least four measured, non-coplanar, trackable feature points as input into the POSIT algorithm. Use the object as a 3D joystick to move a little stick figure in the image.
In the text's bird's-eye view example, with a camera above the plane looking out horizontally along the plane, we saw that the homography of the ground plane had a horizon line beyond which the homography wasn't valid. How can an infinite plane have a horizon? Why doesn't it just appear to go on forever?
Hint: Draw lines to an equally spaced series of points on the plane going out away from the camera. How does the angle from the camera to each next point on the plane change from the angle to the point before?
Implement a bird's-eye view in a video camera looking at the ground plane. Run it in real time and explore what happens as you move objects around in the normal image versus the bird's-eye view image.
Set up two cameras or a single camera that you move between taking two images.
Compute, store, and examine the fundamental matrix.
Repeat the calculation of the fundamental matrix several times. How stable is the computation?
If you had a calibrated stereo camera and were tracking moving points in both cameras, can you think of a way of using the fundamental matrix to find tracking errors?
Compute and draw epipolar lines on two cameras set up to do stereo.
Set up two video cameras, implement stereo rectification and experiment with depth accuracy.
What happens when you bring a mirror into the scene?
Vary the amount of texture in the scene and report the results.
Try different disparity methods and report on the results.
Set up stereo cameras and wear something that is textured over one of your arms. Fit
a line to your arm using all the dist_type
methods.
Compare the accuracy and reliability of the different methods.