mementor

A library to fetch images from directory to fix orientation and pull OCR from the images along with editing the text inside images, primarily focusing on memes


Keywords
ocr, character-recognition, cv2, image-classification, image-processing, meme, numpy, opencv, orientation-detection, pillow, python, python3, tesseract
License
MIT
Install
pip install mementor==1.0.4

Documentation

Memento - Meme organizer

Organize your memes by having the window to:

  • Fix the meme orientation
  • Fetching the OCR from the meme and renaming the particular image with the initial 60 characters
  • Option to track all text from the image and store in /OCR-text/
  • Using OpenCV to segment Image and text to get the recognized text to edit the meme and store in /Memento/
  • Single or multiple option choosing support

Demo run: Youtube

Currently in beta state

memento features

Note: Make sure you have a OCR tool like tesseract and certain data value for comparing OCR, eg tesseract-data-eng along with Pillow and Wand for image conversion and loading to draw along with numpy and cv2 for all Image processing required to crop the image with border values defined

Installation

Install using PIP:

$ sudo pip install mementor
$ memento <dirname>

else

Clone the source locally:

$ git clone https://github.com/aryaminus/memento
$ cd memento
$ git checkout feature/CV-UI
$ python3 memento.py <dirname>

Stepwise working

Todo

  • Fix for subprocess to accept spaced directories
  • Add choice to fetch full OCR text
  • String stream to allow user to choose the particular feature of memento
  • Using OpenCV to partition image and text section to edit the text
  • Listing the images in the directory to edit a particular image only
  • Apply NLTK with window to edit the fetched text to modify and fix typos in meme
  • Apply Classification to organize the memes baised on the image category template for prediction model
  • Add GUI with tkinter to attach text to a meme image

Reference

  1. PDFtoTXT
  2. OCR
  3. Saram
  4. Meme-maker

Contributing

  1. Fork it (https://github.com/aryaminus/memento/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

Enjoy!