Using Python and OpenCV for Content Aware Image Resizing

By Chirag Shah

Elevator Pitch

I would like to talk about a image manipulation technique. The primary factor in this technique is the content. The image is cropped, enlarged or modified keeping in mind the primary factor. I will talk about an algorithm called as Seam Carving and the power of Python libraries to obtain results.

Description

In this talk, I will speak about a simple yet very powerful image manipulation mechanism.


The naive user utilizes the services of any standard toolkit, be it a web service or a remote application for image manipulation. The black box approach to this process is: A user provides an image and other parameters as input to the toolkit which in turn produces the results and returns it back to the user. Often these results are not up to the mark. The image sometimes gets distorted, misaligned or blurred.

Deviating from the standard mechanisms, I would like to talk about a technique called as Content aware image resizing. The primary factor in this technique is the content. It is the content which drives the entire technique. The image is cropped, enlarged or modified keeping in mind the primary factor.

I will talk about an algorithm called as Seam Carving which is used under the hood to achieve the aforementioned technique. It is this algorithm and the power of Python libraries, that makes this technique perform better than the standard mechanisms.


Agenda of Talk:

  1. Introduction: Basics of seam carving, how the algorithm works
  2. Understanding energy concepts, basics of computer vision and dynamic programming
  3. Walk over the pseudo-code and dry run of algorithm
  4. Comparative analysis of this technique with standard mechanisms
  5. Q&A Session
  6. Conclusion