Batteries-included pure-Rust computer vision crate
All of the basic computer vision types are included in the root of the crate. Modules are created to store algorithms and data structures which may or may not be used. Almost all of the things in these modules come from optional libraries. These modules comprise the core functionality required to perform computer vision tasks.
Some crates are re-exported to ensure that you can use the same version of the crate
cv is using.
camera- camera models to convert image coordinates into bearings (and back)
consensus- finding the best estimated model from noisy data
geom- computational geometry algorithms used in computer vision
estimate- estimation of models from data
feature- feature extraction and description
knn- searching for nearest neighbors in small or large datasets
optimize- optimizing models to best fit the data
Feature detection and description algorithms
Computational geometry algorithms
Algorithms for performing k-NN searches
A constant sized array of bits.
A 3d point which is relative to the camera's optical center and orientation where
the positive X axis is right, positive Y axis is down, and positive Z axis is forwards
from the optical center of the camera. The unit of distance of a
This contains a camera pose, which is a pose of the camera relative to the world.
This transforms camera points (with depth as
This stores an essential matrix, which is satisfied by the following constraint:
Normalized keypoint match
Normalized keypoint to world point match
A point on an image frame. This type should only be used when the point location is on the image frame in pixel coordinates. This means the keypoint is neither undistorted nor normalized.
Allows pose solving to be parameterized if defaults are not sufficient.
This contains a relative pose, which is a pose that transforms the
Contains a member of the lie algebra so(3), a representation of the tangent space of 3d rotation. This is also known as the lie algebra of the 3d rotation group SO(3).
This stores a
A point in "world" coordinates. This means that the real-world units of the pose are unknown, but the unit of distance and orientation are the same as the current reconstruction.
Describes the direction that the projection onto the camera's optical center
came from. It is implemented on projection items from different camera models.
It is also implemented for
Allows conversion between the point on an image and the internal projection which can describe the bearing of the projection out of the camera.
A consensus algorithm extracts a consensus from an underlying model of data. This consensus includes a model of the data and which datapoints fit the model.
Allows the retrieval of the point on the image the feature came from.
This trait is implemented by points inside of a metric space.
A model is a best-fit of at least some of the underlying data. You can compute residuals in respect to the model.
This trait allows you to project the point
This trait allows you to take one relative pose from camera