JohnTigue / whiteboarder

A two bit image processor app for whiteboard capture images
http://tigue.com/whiteboarder_a_two_bit_photo_processor/
MIT License
0 stars 0 forks source link

Lightweight images processing pipeline (Generators?) #9

Open JohnTigue opened 4 years ago

JohnTigue commented 4 years ago

Modular image processing pipeline using OpenCV and Python generators

JohnTigue commented 4 years ago

Hands On Image Processing with Python:

  1. Acquisition and storage: The image needs to be captured (using a camera, for example) and stored on some device (such as a hard disk) as a file (for example, a JPEG file).
  2. Load into memory and save to disk: The image needs to be read from the disk into memory and stored using some data structure (for example, numpy ndarray), and the data structure needs to be serialized into an image file later, possibly after running some algorithms on the image.
  3. Manipulation, enhancement, and restoration: We need to run some pre-processingalgorithmsto do the following:
    • Run a few transformations on the image (sampling and manipulation; for example, grayscale conversion)
    • Enhance the quality of the image (filtering; for example, deblurring)
    • Restore the image from noise degradation
  4. Segmentation: The image needs to be segmented in order to extract the objects of interest.
  5. Information extraction/representation: The image needs to be represented in some alternative form; for example, one of the following:
    • Some hand-crafted feature-descriptor can be computed (for example, HOG descriptors, with classical image processing) from the image
    • Some features can be automatically learned from the image (for example, the weights and bias values learned in the hidden layers of a neural net with deep learning)
    • The image is going to be represented using that alternative representation
  6. Image understanding/interpretation: This representation will be used to understand the image better with the following:
    • Image classification (for example, whether an image contains a human object or not) Object recognition (for example, finding the location of the car objects in an image with a bounding box)