/ImageProcessingProjects

Image processing using python and opencv

Primary LanguagePythonMIT LicenseMIT

#Image Processing Projects

This repository is a collection of all things fun in image processing achieved with opencv and python. Projects and implementations are ever so on random topics but interesting ones nevertheless.

  1. Image_Lib - contains common code files that is reused by most projects.
  2. PyImageSearchProblems - Kudos to Adrian for his awesome blog on image processing in opencv - PyImageSearch. The files in this folder mostly follow some of his blogs with my flavor to the problems here and there.
  3. PythonProjects - My playground! Every time someone mentions or I think of an interesting problem, it ends up here.
  4. SelfProjectUtils - Code that I usually use to understand images for tuning parameters in other projects and such.

Few example results:

  • With the availability of displays in various sizes, image retargeting or image resizing with content awareness is something that's done frequently nowadays. A simple implementation of seam carving a well known method and it's result(width reduction by 20%) is as below. Note that the content of the image is not scaled or cropped.

Input image Seam reduced image

  • Panoramic image stitching using SIFT/ SURF features.

  • Image Cartooning.

Image

  • Color transforms and compression.

  • Auto detect size of objects in images given a reference object. In the example below the height of iPhoneSE (Reference object in this case) was the only value that was provided to the algorithm.

  • Maze solver - an automatic maze path finder.

- A few days back when I was at a meetup I noticed people taking pictures of the presentation and I realized I could with some code make the whole thing better. So here it is unwarped and centered :)

Works decently good when there is some occlusion as well

  • Localization based on Bayesian inference. Here I samplea few locations by calibrating face location initially and perform inference after.

  • Can we provide anonymity for users in a video chat? A problem one of my friends suggested with a complicated yet awesome solution. This one here is just a simple fix I did.

  • Eye tracking as always been a topic I have found myself going back again and again to solve. This one here works real time and is based on the idea from Fabian Timm's paper.