pyCAIR: Understanding Content-Aware Image Resizing using Python

Chirag Shah (~avidLearnerInProgress)





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


  • Basics of Python

Content URLs:

  1. Research Paper
  2. Github repository of project with over 100 stars: pyCAIR
  3. Beta release on PyPI: pyCAIR
  4. Docs:

Speaker Info:

  • I have been into CS field for over 6 years now. I have completed my BTech in Information Technology from Veermata Jijabai Technological Institute, Mumbai (VJTI). Also, I have done my diploma in Information Technology.
  • I will be joining Barclays India as an SDE in the month of August.

  • Software development is my long suit. AI, ML and Data Science are my goto subjects. Competitive programming is something I love to do in my spare time.

  • I like tinkering with new technologies, creating new projects and implementing things by myself. I have been contributing on github for over a year now.

  • I am an avid learner and I can quickly adopt to new frameworks. Also, I am a mediocre public speaker with modest interest in Fintech and Investment Banking.

Speaker Links:

Id: 802
Section: Developer tools and Automation
Type: Talks
Target Audience: Beginner
Last Updated: