image2relief is a C++ program using OpenCV to convert raster images into G-code for CNC engraving of gemstones. It supports the creation of mid-reliefs, low reliefs, and shallow reliefs (without undercuts), using image-based surface profiling. The tool accounts for different end mill diameters by simulating circular tool footprints. The image is scanned stepwise along a customizable path. At each step, the maximum pixel value inside the end mill's footprint is used to determine engraving depth. G-code is only emitted when a change in engraving depth occurs, minimizing unnecessary tool movement and reducing engraving time. This makes image2relief efficient and suitable for refining reliefs layer by layer with progressively smaller end mills.
Features
- Converts grayscale images into G-code for CNC machines.
- Ideal for gemstone engraving and relief carving.
- Supports multiple levels of detail (mid/low/shallow reliefs).
- Uses efficient toolpath generation: avoids redundant G-code.
- Supports variable end mill sizes, from coarse to fine.
- Written in modern C++ with OpenCV.
- Lightweight and open-source.