Skip to main content

Smart shrinking of the size and color palette of images

Project description

NoteShrinker
==========

![GitHub stars](https://img.shields.io/github/stars/ghandic/NoteShrinker.svg?style=social&label=Stars)
![Docker build](https://img.shields.io/docker/automated/challisa/noteshrinker.svg)
![Travis build](https://travis-ci.org/ghandic/NoteShrinker.svg?branch=master)
![Package version](https://img.shields.io/pypi/v/NoteShrinker.svg)
![License](https://img.shields.io/github/license/ghandic/NoteShrinker.svg)

This Repo packages up the work from [Mark Zucker](https://github.com/mzucker/noteshrink) into a python module and cli script

Convert scans of handwritten notes to beautiful, compact *PDFs* [see full writeup](https://mzucker.github.io/2016/09/20/noteshrink.html)

Note this package does not convert to PDF as the original module relies on ImageMagick, this is very easy to implement yourself.


Examples
------------
These examples use the default settings in the Python module.

Original | NoteShrunk
:-------------------------:|:-------------------------:
**Size: 1.4MB**![Original example 1](Examples/Input/us_tax_form_1937.jpg?raw=true "Original US Tax return form from 1937") | **Size: 516KB**![NoteShunk example 1](Examples/Output/us_tax_form_1937.png?raw=true "NoteShrunk US Tax return form from 1937")
**Size: 73KB**![Original example 2](Examples/Input/winston_churchhill_letter.jpg?raw=true "Original letter from Winston Churchhill") | **Size: 51KB**![NoteShunk example 2](Examples/Output/winston_churchhill_letter.png?raw=true "NoteShrunk letter from Winston Churchhill")
**Size: 132KB**![Original example 3](Examples/Input/Restraint_of_domestic_animals.jpg?raw=true "Original page from 'Restraint of domestic animals'")| **Size: 109KB**![NoteShunk example 3](Examples/Output/Restraint_of_domestic_animals.png?raw=true "NoteShrunk page from 'Restraint of domestic animals'")


Requirements
------------

- Python 2 or 3
- NumPy 1.10 or later
- SciPy
- Image module from PIL or Pillow


Installation
-----

**Ensure you have Numpy, SciPy and PIL installed:**

```python
pip install numpy scipy pillow
```

```python
pip install NoteShrinker
```

Usage
-----

**Docker**
```bash
docker run -v $PWD/Examples/Input:/imgs challisa/noteshrinker /imgs/us_tax_form_1937.jpg -w
```

**Command line**
```bash
note-shrinker IMAGE1 [IMAGE2 ...]
```

**Integrating into your Python scripts**

```python
from NoteShrinker import NoteShrinker

# Create a NoteShrink object full of images, either an array of filepaths, PIL images or numpy arrays
ns = NoteShrinker(['test.png'], **args)

# Shrink the images by calling the shrink method, this returns an array of PIL images encoded as RGB
shrunk = ns.shrink()

# Carry on with your image processing...
for img in shrunk:
img.save('example.png')
```


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

NoteShrinker-0.2.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

NoteShrinker-0.2.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file NoteShrinker-0.2.0.tar.gz.

File metadata

  • Download URL: NoteShrinker-0.2.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/20.7.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for NoteShrinker-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a5fa892209130d3e6fff2afbc91f84fb656f4e84818f4f6f80022f52d6151132
MD5 10ef322684844b788dfd56fcd8b7667a
BLAKE2b-256 3aaca38de14c8f4dac78b0a1a345250123d5aff0aa05de3970b2d54023e830b8

See more details on using hashes here.

File details

Details for the file NoteShrinker-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: NoteShrinker-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/20.7.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for NoteShrinker-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93f224de84018e52fba5b27676648f08b94efb29f8c4c564423945a9cd440290
MD5 8c0cbb48c527da2ef442e84c0ea51b54
BLAKE2b-256 ff67169e2b50c6184ec27f6e9b41af075cf4c909521f63678fb9ee44f6e11d91

See more details on using hashes here.

Supported by

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