Seam carving is an effective image processing technique with the help of which an image can be resized without removing important elements from the image. The basic approach is to find all the continuous pixels with low energy from left to right or from top to bottom. After the region is selected, it is removed from the original image, leaving only the relevant part of the image. An energy map is derived from the original image which represents apposite details of the image. With the help of the energy map, we can identify the seams that are spread from right to left or top to bottom.
How is Seam carving different from the traditional resizing approach?
Seam carving is different from resizing in the sense that in Seam carving all the valuable aspects and elements are still present in the image but resizing the image is simply copied to a newer size which may be responsible for losing important details.
Below is the Implementation of Seam carving technique:
Shape of original Image (667, 1000, 3) Shape of Carved image (667, 840, 3)
Note: This code uses scikit-image version 0.15.0.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
- Image Resizing using OpenCV | Python
- Mahotas - Resizing Image
- Dynamically Resize Buttons When Resizing a Window using Tkinter
- PyQt5 – How to stop resizing of window | setFixedSize() method
- PyQt5 QSpinBox - Resizing it according to value
- MoviePy – Resizing Video File
- PYGLET – Setting Size / Resizing of Window
- OpenCV - Facial Landmarks and Face Detection using dlib and OpenCV
- Transition from OpenCV 2 to OpenCV 3.x
- OpenCV Python Program to analyze an image using Histogram
- Python Program to detect the edges of an image using OpenCV | Sobel edge detection method
- Reading an image in OpenCV using Python
- Python | Detect corner of an image using OpenCV
- Image Pyramid using OpenCV | Python
- Negative transformation of an image using Python and OpenCV
- Python | Image blurring using OpenCV
- Find Circles and Ellipses in an Image using OpenCV | Python
- Image Translation using OpenCV | Python
- Image Registration using OpenCV | Python
- Python | Detect Polygons in an Image using OpenCV
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.