Coder Social home page Coder Social logo

imagelabeler's Introduction

imagelabeler

A Python 3.5.2 class that adds labels, such as original date stamps, to .jpg images. Makes use of the Pillow 5.0.0 image manipulation library.

Designed to be used in a clinical health setting for automatically datestamping otoscopic pictures.

Basic behaviour:

  1. If used as a __main__ program:

    • Searches the images/ directory for .jpg images and loads pillow image objects.
      • Uses an MD5 hash to determine if the image has already been labeled.
      • Automatically rotates images if taken on a cellphone.
    • Creates LabeledImage objects for the images.
      • Labels images with text or original date from Exif data.
      • Returns a merged Pillow Image object.
    • Saves an archive copy of the original image.
    • Saves the newly labeled images to their own folder.
  2. The LabeledImage class:

    • Takes a Pillow image instance, rotates it if needed, and creates a new 'drawing' layer to place labels on.
    • Up to 4 labels can be created in each corner of the image.
    • LabeledImage.add_date_label(position) automatically adds the original image creation date.
      • Only works with original .jpgs with required exif data.

To Be Added:

  • Image hashing functions to keep track whether or not an image has been labeled before.
  • Find way to preserve Exif data and resize images.
  • Functions to move original images to an archive (keep 50 images).
    • Partially implemented.
  • Error checking and handling and optimizations.
  • Re-format code to PEP-8 standards, and add docstrings and other documentation.
    • Partially implemented.
  • Front end GUI (PyQT 5)

imagelabeler's People

Contributors

ebits21 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.