Crates.io | moving-least-squares-image |
lib.rs | moving-least-squares-image |
version | 0.1.1 |
source | src |
created_at | 2021-10-08 17:34:42.107587 |
updated_at | 2022-04-25 09:29:21.415652 |
description | Image deformation using moving least squares |
homepage | https://github.com/mpizenberg/rust_mls |
repository | https://github.com/mpizenberg/rust_mls |
max_upload_size | |
id | 462416 |
size | 31,312 |
Rust implementation of the paper "Image Deformation Using Moving Least Squares", Schaefer 2006.
The optional rayon
feature enables parallel iterators for the generation of the warped image.
Here is what using the library looks like:
// Open an image from disk.
let img = image::open("data/woody.jpg")?.into_rgb8();
// Define the source control points.
let controls_src: &[(f32, f32)] = &[
(20.0, 160.0),
...
(250.0, 369.0),
];
// Define the destination control points.
let controls_dst: &[(f32, f32)] = &[
(20.0, 250.0),
...
(250.0, 369.0),
];
// Create new warped image.
let warped_img_affine =
mls_image::reverse_dense(&img, controls_src, controls_dst, mls::deform_affine);