Skip to main content

Cut a picture into pieces by cutting along pixel lines

Project description

Pixsaw

Cuts an image up into multiple pieces by following pixel lines that contrast with targeted piece color. Most pixels are kept in the process since very fine saw blades are used.

Try out by running the pixsaw.sh script that will prompt for necessary options and run pixsaw inside a docker container. It will use the files in the examples directory by default.

# Build and run using docker
./pixsaw.sh

Installing

Requires:

Install with pip in editable mode for developing and use virtualenv to isolate python dependencies::

python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Usage

Running the pixsaw script will show some help. It basically needs a path to a directory to store the generated files, an image that shows where to cut, and the image that should be cut into pieces.

Example

mkdir tmp-small-puzzle-example
pixsaw --dir tmp-small-puzzle-example --lines examples/small-puzzle-lines.png examples/320px-White_Spoon_Osteospermum.jpg

The puzzle lines

Image example

Image from: http://en.wikipedia.org/wiki/File:White_Spoon_Osteospermum.JPG

The output (combined into one file with glue to better show it):

Output of pixsaw

Contributing

Please contact me or create an issue.

Any submitted changes to this project require the commits to be signed off with the git command option '--signoff'. This ensures that the committer has the rights to submit the changes under the project's license and agrees to the Developer Certificate of Origin.

License

GNU Lesser General Public License v3.0

Maintenance

Where possible, an upkeep comment has been added to various parts of the source code. These are known areas that will require updates over time to reduce software rot. The upkeep comment follows this pattern to make it easier for commands like grep to find these comments.

Example UPKEEP comment has at least a 'due:' or 'label:' or 'interval:' value surrounded by double quotes (").

Example-> # UPKEEP due: "2022-12-14" label: "an example upkeep label" interval: "+4 months"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixsaw-0.5.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pixsaw-0.5.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file pixsaw-0.5.0.tar.gz.

File metadata

  • Download URL: pixsaw-0.5.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for pixsaw-0.5.0.tar.gz
Algorithm Hash digest
SHA256 43fdda2b0b5efb3ac3ab8eb7db075bf0890f98133bc244f79a8193c3e6c7ae9c
MD5 c3ed1011c3db9482d28a16fae2aafa45
BLAKE2b-256 7380921f255d16a8806d4cd1b68b9a05b04ae2e5dca29bd216d9b86705b88b38

See more details on using hashes here.

File details

Details for the file pixsaw-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pixsaw-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for pixsaw-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11a73d0643c5dd6c26cdd5d7f2c118a5f3cee4c3d8ece6a7ab94070922267385
MD5 40501d5f0f02c00c50f9c5ece29eedc4
BLAKE2b-256 1080846898b54f505b4f31674cbc7caa1c6a43ed20ba8f5c3ab21df2f8312619

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page