Karve is a simple Seam Carver. Seam Carving is basically content aware image resizing. The algorithm preserves the objects in the image while less important background space is removed by removing "seams" from the image.
- Vertical and Horizontal Seam Carving
- "Animate" the Seam Carving Process at varying speeds
- Fast carving for moderately sized images
- Drag and Drop Images into the application
- Removed Seams can be added back onto the image
- Object removal and preservation via highlighting
- Togglable Seam Highlighting
- Togglable GUI updating for faster carving
- Backward and Forward Energy Seam Carving
- Snapshot current image
- Record Seam Carving animation by saving carved image snapshots
- Uses all CPU Cores for faster carving
- No dependencies!
To start, simply drag and drop the image into the application.
If Karve is carving out areas of the image that you want to keep, you can also mark the image with low and high priority regions.
You can also click on the image itself to mark areas of lower importance. Any areas you left click on will be marked in red and seams will be removed there first.
Similarly, any areas you right click on will be marked in green and the algorithm will avoid those areas of the image.
Button | Description | Key |
---|---|---|
Show Seams | If selected, shows the seams being added/removed from the image. | S |
Horizontal | If selected, carves out horizontal seams instead of vertical ones. | H |
Recording | If selected, saves each carved frame as an image in the Snapshots directory. |
R |
Update | If selected, updates the image on the UI. De-select this option for more efficient carving. | U |
- The image used in the demo is from Ralph McQuarrie who did most concept art for the Star Wars original trilogy.
- The Seam Carving Algorithm closely follows that one detailed in MIT's 18.S191: Introduction to computational thinking for real-world problems.