Homography ~ Rust

Homography is a Rust library for computing the homography matrix between two planes in a 2D space. It is based on the Direct Linear Transformation (DLT) algorithm and it is designed to be used in computer vision applications.
The project is under development and will feature new updates and improvements.
Installation
Add this to your Cargo.toml:
[dependencies]
homography = "0.2.0"
or add it directly from crates.io:
cargo add homography
Usage
use homography::{HomographyComputation};
use homography::geo::{Point, Line};
fn main() {
let hc = HomographyComputation::new();
let p1 = Point::new(148., 337.);
let p2 = Point::new(131., 516.);
let p3 = Point::new(321., 486.);
let p4 = Point::new(332., 370.);
let p1p = Point::new(0., 0.);
let p2p = Point::new(0., 60.);
let p3p = Point::new(80., 60.);
let p4p = Point::new(80., 0.);
let line1 = Line::from_points(&p1, &p2);
let line1p = Line::from_points(&p1p, &p2p);
hc.add_point_correspondence(p1, p1p);
hc.add_point_correspondence(p2, p2p);
hc.add_point_correspondence(p3, p3p);
hc.add_point_correspondence(p4, p4p);
hc.add_line_correspondence(line1, line1p);
let restrictions = hc.get_restrictions();
let solution = restrictions.compute();
println!("Matrix: {}", solution.matrix);
println!("Value: {}", solution.value);
}
License
This project is licensed under the MIT License - see the LICENSE file for details.