| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Library and vpype plug-in to convert images to plotter-friendly, hatched patterns.
Built with OpenCV, scikit-image, Shapely, matplotlib and svgwrite. You can reach the author Drawingbots's Discord server.
Using hatched as a vpype plug-in is the easiest way to get started. See vpype's installation instructions for information on how to install vpype.
If vpype was installed using pipx, use the following command:
$ pipx inject vpype hatchedIf vpype was installed using pip in a virtual environment, activate the virtual environment and use the following command:
$ pip install hatchedYou can confirm that the installation was successful with the following command, which also happens to tell you all you need to know to use hatched:
$ vpype hatched --help
Usage: vpype hatched [OPTIONS] FILENAME
Generate hatched pattern from an image.
The hatches generated are in the coordinate of the input image. For
example, a 100x100px image with generate hatches whose bounding box
coordinates are (0, 0, 100, 100). The `--scale` option, by resampling the
input image, indirectly affects the generated bounding box. The `--pitch`
parameter sets the densest hatching frequency,
Options:
--levels INTEGER... Pixel value of the 3 thresholds between
black, dark, light and white zones (0-255).
-s, --scale FLOAT Scale factor to apply to the image size.
-i, --interpolation [linear|nearest]
Interpolation used for scaling.
-b, --blur INTEGER Blur radius to apply to the image before
applying thresholds.
-p, --pitch LENGTH Hatching pitch for the densest zones. This
option understands supported units.
-x, --invert Invert the image (and levels) before
applying thresholds.
-c, --circular Use circular instead of diagonal hatches.
-o, --center Origin of circles relative to the image size.
For example, (0.5, 0.5) corresponds to the
center of the image.
-a, --angle Angle for diagonal hatches (in degrees)
-d, --show-plot Display the contours and resulting pattern
using matplotlib.
-l, --layer LAYER Target layer or 'new'.
--help Show this message and exit.To create a SVG, combine the hatched command with the write command (check vpype's documentation for more information). Here is an example:
$ vpype hatched --levels 64 128 192 -s 0.5 -p 4 input.jpg layout a4 write output.svgTo play with hatched, you need to checkout the source and install the dependencies in a virtual environment, for example with the following steps:
$ git clone https://github.com/plottertools/hatched.git
$ cd hatched
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r dev-requirements.txtExample can then be run by executing the corresponding file:
$ cd examples
$ python skull.pyThe processing result is displayed in a matplotlib window:
A skull.svg file is also created with the output graphics.
Call the function hatched.hatch() to process your image. It takes the following parameters:
This project is licensed under the MIT License - see the LICENSE file for details.
The example image skull.jpg is licenced under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
| Back | FazBrowse Home | New Git URL |