1 unstable release
0.1.1 | Feb 19, 2023 |
---|
#177 in Robotics
24KB
690 lines
imagezero
Pure Rust implementation of the imagezero (losless image compression algorithm) used i.e. in robotics.
Resources
- Original Code: https://github.com/cfeck/imagezero
- Shared Lib build: https://github.com/Special-graphic-formats/imagezero
- Description from author: http://imagezero.maxiom.de/
- Rawzor image compression samples: https://imagecompression.info/test_images/
Documentation
Read the detailed documentation here
imagezero-rs
Pure Rust implementation with NEON64 optimizations. Includes a commandline example.
imagezero-sys
Rust wrapper for the C++ implementation.
testing
Benchmark for checking the speed of the different implmentations.
cargo test
cargo bench
testing/images
Here the test images should reside.
Build
For building and running the tests (also does a check against the cpp implementation)
cargo test
cargo bench
If you would like to build/test the commandline utils (you have to checkout the cpp submodule)
cd imagezero-sys/imagezero-cpp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
cd imagezero-sys
cargo build --release
cd testing/image
./check.sh
ToDo
- imagezero algorithm in Rust
- create benchmarks
- ARM64 optimizations
- VHDL compression
- Stereo Cam for ROS2
Done
- test imagezero-sys against cpp
- create imagezero-sys with Rust commandline program
- reserve name on crates.io
License
Dependencies
~5.5–8MB
~122K SLoC