Skip to main content

Grep for text in images

Project description

GitHub Workflow Status License PyPI

IMGrep

Want to find that one meme with the funny punchline? Looking for a picture of a PowerPoint presentation on a specific topic, that you took 5 years ago? IMGrep might help.

It works like grep, but for images, and with a lot less features ... and it's also much slower ... and not suuuper accurate ;D

IMGrep is built on the Tesseract-OCR-Engine and uses pytesseract for the bindings.

Install

You can install imgrep from PyPI with pip

pip install imgrep

Usage

Get the usage with imgrep -h.

usage: imgrep [-h] [-i] [-r] [-f] [-0] pattern file

Grep for text in images.

positional arguments:
  pattern               A Python regex, to search for.
  file                  Path of the image(s) to search through. (Or folder(s), if `--recursive' is specified).

options:
  -h, --help            show this help message and exit
  -i, --ignore-case     Ignore case distinctions in patterns and input data.
  -r, --recursive       Grep through every file under a given directory.
  -f, --filenames-only  Only print the file names, not the contents. Makes no sense without `--recursive', and will be ignored if `--recursive' is not specified.
  -0, --null            Print the output seperated by null characters, this is useful for badly named files. Makes no sense without `--filenames-only', but will be done regardless, if specified!

Be patient. It uses multiple cores, but this just takes a while. Searching for a specific string in my ca. 2000 image strong memes folder took about 8 minutes and 30 seconds.

Performance

Is abysmal. You've been warned.

Neither accuracy, nor execution time are that great, but it works for my use case. And it is still much faster, than combing through my photos one by one, when I'm looking for something specific.

TODO

  • Having -a and -b flags to include N lines of output after, and before the match would be nice.
  • Also coloring the output on smart terminals would be cool.
    • That opens a whole can of worms with determining whether the terminal supports it or not.
    • Or whether the user wants color (NOCOLOR, or TERM=dumb etc.?).

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

imgrep-0.0.3.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

imgrep-0.0.3-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file imgrep-0.0.3.tar.gz.

File metadata

  • Download URL: imgrep-0.0.3.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for imgrep-0.0.3.tar.gz
Algorithm Hash digest
SHA256 aefece7e8bbc23e961c8e30227a50dfcf3af62f86154efe67663fc9f6669b164
MD5 accf35895073ed89b966cfe17cea95f0
BLAKE2b-256 3b14fcfbeec610ecf15cf246128056c43650954f779e4c0a93802a1df2760a5d

See more details on using hashes here.

File details

Details for the file imgrep-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: imgrep-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for imgrep-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 909d1a3fef63454e007ebd2eddf1261b49cce67afcb7badada8f647b4f6204e4
MD5 de608fc22e9a7c40bb58a6ab5527ff96
BLAKE2b-256 931106dbd11f169ef6aa9104ce8f5f855c799ddbfde6ec8b4ad4e0b5b980effd

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