Two View Geometry
In this project, I extend the feature matching and camera calibration methods to computing camera poses in a two view scenario. This is the first of the series where we deal with computing camera extrinsics from 2 images....
In this project, I extend the feature matching and camera calibration methods to computing camera poses in a two view scenario. This is the first of the series where we deal with computing camera extrinsics from 2 images....
This project improves on native OpenCV Stithcing pipeline for large > 10 images. Adds option of --match_type adjacent for adjacent pairwise images to avoid multiple handshakes. Some examples:...
This project implements motion tracking with initial random features using optical flow algorithms in OpenCV python. Sparse flow using Lucas Kanade...
In my previous project, we did manual calibration assuming pinhole model. However, for real world cameras, distortions are always present to a degree. In this project we utilize OpenCV camera calibration method that deals with radial and tangential distortions. ...
In this project, I use simple manual camera calibation method. The setup is as follows: Assuming pin hole camera, we can utilize similar triangle methods(see below), and can come up with focal lengths equation: # fx = (dx/dX) * dZ , fy = (dy/dY) * dZ where dX, dY are the physical length & width of the object in view and dZ is the distance from object to camera. dx and dy are the corresponding pixel width & height of the object...
This project implements feature generation and matching using OpenCV library. We observe two classes of object types: The first is solid cube shaped object such as a cereal box that is ideal for homography transforms and post processes. The second is deformable object such as a bag of chips that can be physically distored between two images and homographies and post processing may fail on them. In this project we observe the usage of optical flow on the 2nd category to check viability of estimating such distortions....
CV Project 3: Eigenfaces Used std::vector instead of std::list in the implementation of findFaces. I tried importing to use C++ STL sort function but the program didnt accept the linkage. Hence, I had to write my own quick sort algorithm for this purpose. What worked? The interesting & the neutral as well as group folders worked really well. What didnt work? My program experienced really bad genralization errors. I tried number of test files of various scales with different min/max thresholds but the results were pretty disappointing. However, since the insample result...
CV Project 2: Panorama Mosiac Stitching 1. For "make your own 360 panorama" took 17 translated imgs of WashU's Brookings building with Iphone SE using hand (no tripod). I converted the imgs to low (640x480) pixel using imageMagick's convert tool. 2. Initially found (in mm) = 4.2mm using image's exif data. Then found f (in pixels) = 640*4.2mm/4.8mm = 560 pixels where 4.8mm was the Iphone SE's camera sensor width and 640 was the width of each down-sampled image ...
CV Project 1: Feature Detection and Matching Detector Design: My feature descriptor called manilsFeatureDescriptor is an extension of simple5x5featureDescriptor. Both manilsFeatureDescriptor and simple5x5featureDescriptor take gray-scaled input image(input) and reference to the feature set (output) as parameters. Both feature descriptor functions take a computed local maxima point using Harris corner detector algorithm and add some 'characteristics' to the detected feature points....