Project

Seam Carving

Challenging
465 completions
~ 32 hours
4.3

You will learn how to work with images. At the same time you will get familiar with basic graph processing algorithms. Implement seam carving technique yourself and try it on any picture you like.

Provided by

JetBrains Academy JetBrains Academy

About

Seam carving is an image processing technique for content aware image resizing. Content aware means that it saves objects and object aspect ratio at processed image.

Graduate project icon

Graduate project

This project covers the core topics of the Kotlin Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Now you should add some command line parameters for input and output files. Then you will read the image from the disk, inverse image colors and save to the given file location.
Pixel energy is the core concept of seam carving algorithm. At this stage you will implement energy-calculation function and apply it to the given image.
Now you are ready to find the best seam to remove. You will find vertical seam with lowest summary energy and output image with highlighted seam.
Now you should implement horizontal seam search. It is the same as vertical. but horizontal. Try using a transposed view of your image!
Now you have everything to resize image preserving content. Just remove seams one by one!

Reviews

Periyakaruppan P avatar
Periyakaruppan P
1 month ago
I have Learned from this project to how to do Image processing & colour manipulation
Jobby avatar
Jobby
2 months ago
This was a great challenge. Every step built on the previous one. This way it was clear what has to be done, but without telling us exactly how. It was fun to find my own implementation and try different things and see what happens to the images.There were some random trouble reading the test imple ...
Charles Perry avatar
Charles Perry
6 months ago
I learned A LOT about seam carving. I got to utilize multithreading to speed up performance of the many calculations needed to perform seam carving.

4.3

Learners who completed this project within the Kotlin Developer course rated it as follows:
Usefulness
4.6
Fun
4.2
Clarity
4.1