Seam carving is a content aware image retarget technology, it can do 4 main job: changing aspect ratio, enlarging, content amplification and object removing. the main idea is to find an optimum seam bease some pixel energy fucntion.
In this project I implement some basic algorithm, they are:
- vertical seam carving
- horizontal seam carving
- mannuly order seam carving
- content amplification
Platform: vs2013 opencv2.4.8 c++11
I wish somebody, andybody could make some improvement. such as using forward enery to reduce artificial, dynamic programming to find optimum seam order, add image enlarging and object removing.
Original
Vertical Seam Carving
Horizontal Seam Carving
Mannuly Order Seam Carving
Content Amplification
When reduce image too much, more than 50% it's original size, some artificial occur. another issue is time consuming with big image, probbaly parallel alogrithm will help.