{"id":25431936,"url":"https://github.com/aryaminus/memento","last_synced_at":"2025-10-31T21:30:36.974Z","repository":{"id":31995749,"uuid":"131293651","full_name":"aryaminus/memento","owner":"aryaminus","description":"Organize your meme image cluster in a better format using OCR from the meme to sort them using tesseract along with editing memes by segmenting them using OpenCV within a directory","archived":false,"fork":false,"pushed_at":"2023-10-03T21:08:33.000Z","size":147,"stargazers_count":79,"open_issues_count":4,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-16T10:54:38.213Z","etag":null,"topics":["character-recognition","cv2","image-classification","image-processing","meme","numpy","ocr","opencv","orientation-detection","pillow","python","python3","tesseract"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/mementor/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aryaminus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-04-27T12:28:48.000Z","updated_at":"2025-01-17T16:17:04.000Z","dependencies_parsed_at":"2023-12-26T09:01:18.187Z","dependency_job_id":"a792cda4-71e1-441b-9c97-12119acd6594","html_url":"https://github.com/aryaminus/memento","commit_stats":{"total_commits":81,"total_committers":1,"mean_commits":81.0,"dds":0.0,"last_synced_commit":"554d64cc06a4f5e8e4ff93b0b6863cddccbc17b3"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaminus%2Fmemento","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaminus%2Fmemento/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaminus%2Fmemento/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaminus%2Fmemento/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryaminus","download_url":"https://codeload.github.com/aryaminus/memento/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239236393,"owners_count":19604901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["character-recognition","cv2","image-classification","image-processing","meme","numpy","ocr","opencv","orientation-detection","pillow","python","python3","tesseract"],"created_at":"2025-02-17T04:30:33.775Z","updated_at":"2025-10-31T21:30:36.837Z","avatar_url":"https://github.com/aryaminus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memento - Meme organizer\nOrganize your memes by having the window to:\n\n- Fix the meme orientation\n- Fetching the OCR from the meme and renaming the particular image with the initial 60 characters \n- Option to track all text from the image and store in `/OCR-text/`\n- Using OpenCV to segment Image and text to get the recognized text to edit the meme and store in `/Memento/`\n- Single or multiple option choosing support\n\n**Demo run:**  \u003ca href=\"https://youtu.be/5Zt52ZxJJ0Y\" target=\"_blank\"\u003e Youtube\u003c/a\u003e \n\n**Currently in beta state**\n\n[![memento features](https://i.imgur.com/A8nZo21.gif)](https://youtu.be/5Zt52ZxJJ0Y)\n\n**Note:**\nMake 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\n\n## Installation\n\nInstall using PIP:\n```\n$ sudo pip install mementor\n$ memento \u003cdirname\u003e\n```\n***else***\n\nClone the source locally:\n```\n$ git clone https://github.com/aryaminus/memento\n$ cd memento\n$ git checkout feature/CV-UI\n$ python3 memento.py \u003cdirname\u003e\n```\n## Stepwise working\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://i.imgur.com/8w5kADL.png\"\u003e\n\u003cp\u003e\n\n## Todo\n- [x] Fix for subprocess to accept spaced directories\n- [x] Add choice to fetch full OCR text\n- [x] String stream to allow user to choose the particular feature of memento\n- [x] Using OpenCV to partition image and text section to edit the text\n- [ ] Listing the images in the directory to edit a particular image only\n- [ ] Apply NLTK with window to edit the fetched text to modify and fix typos in meme\n- [ ] Apply Classification to organize the memes baised on the image category template for prediction model\n- [ ] Add GUI with tkinter to attach text to a meme image\n\n## Reference\n1. \u003ca href=\"https://github.com/lucab85/PDFtoTXT\" target=\"_blank\"\u003ePDFtoTXT\u003c/a\u003e\n2. \u003ca href=\"https://github.com/pySushi/OCR\" target=\"_blank\"\u003eOCR\u003c/a\u003e\n3. \u003ca href=\"https://github.com/aryaminus/saram\" target=\"_blank\"\u003eSaram\u003c/a\u003e\n4. \u003ca href=\"https://github.com/evmarts/meme-maker\" target=\"_blank\"\u003eMeme-maker\u003c/a\u003e\n\n\n-----------------------------------------------------------------------------------------------------------\n\n## Contributing\n\n1. Fork it (\u003chttps://github.com/aryaminus/memento/fork\u003e)\n2. Create your feature branch (`git checkout -b feature/fooBar`)\n3. Commit your changes (`git commit -am 'Add some fooBar'`)\n4. Push to the branch (`git push origin feature/fooBar`)\n5. Create a new Pull Request\n\n**Enjoy!**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryaminus%2Fmemento","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryaminus%2Fmemento","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryaminus%2Fmemento/lists"}