This project implements the Seam Carving algorithm for content-aware image resizing. It removes the least important paths in an image to reduce its size while preserving key features.
- Convert images to grayscale
- Apply Gaussian Blur
- Detect edges using Sobel Filter
- Construct Energy Map
- Find and remove low-energy seams
- Parallel implementation using CUDA
- Basic parallel implementation
- Optimized using shared memory (SMEM)
- Parallelized dynamic programming step
git clone https://github.com/yourusername/seam-carving.git
cd seam-carving
make./seam_carving input_image.jpg output_image.jpg num_seamsOur parallel implementations show significant speedup compared to the sequential version, especially for large images and high seam counts.
- Implement two-end BFS for further optimization
- Explore Forward Energy method
- Optimize for maximum seam removal in practical applications
Contributions are welcome! Please read the CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Shai Avidan and Ariel Shamir for the original Seam Carving paper
- Brown University CS129 for Forward Energy concepts

