Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 33 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,36 @@ cvision-algorithms

Collection of Computer Vision algorithms implemented in Matlab.

Algorithms:
- seam carving ("Seam carving for content-aware image processing" by S. Avidan & A. Shamir, 2007)
Algorithm and code are described in details http://kirilllykov.github.io/blog/2013/06/06/seam-carving-algorithm/
- bilateral filter ("Bilateral filtering for gray and color images" by C. Tomasi & R. Manduchi, 1998)
- fast bilateral filter ("A fast approximation of the bilateral filter using a signal processing approach" by S. Paris & F. Durand, 2006)
- retinex ("Retinex by two bilateral filters" by M. Elad, 2005)
- shape from shading algorithm by Horn and Ikeuchi ("The Variational Approach to Shape from Shading"
by B. Horn and M. Brooks, 1985)
- optical flow algorithm by Horn-Shunck for an array of input images ("Determining optical flow" by Horn and Schunck, 1980)
- generator of random surface and closed curve, auxiliary code
## Seam Carving Algorithm

This repository includes an implementation of the Seam Carving algorithm as described in
the paper "Seam carving for content-aware image resizing" by S. Avidan & A. Shamir (2007).
The algorithm enables intelligent resizing of images by removing or adding seams of low energy.

### Contents

- `seamCarving.m`: The main MATLAB implementation of the Seam Carving algorithm.
- `ex_seam_carving.m`: A script to demonstrate the application of seam carving on an image.
- `sample_images/`: A folder containing example images for testing the algorithm.

### Instructions for Use

1. Open MATLAB and navigate to the directory containing this repository.
2. Run the script `ex_seam_carving.m` to reproduce the resizing results as described in the paper.
3. Modify the script to apply the algorithm to your own images by replacing the input file path.

### Experimentation

The following experiments can be conducted using the provided scripts:
- Reducing or enlarging images while preserving content.
- Testing the algorithm on images with varying complexity to evaluate its robustness.
- Visualizing the energy maps and seam paths during the resizing process.

### References

- S. Avidan, A. Shamir, "Seam carving for content-aware image resizing," ACM Transactions on Graphics, 2007.
- Code structure inspired by the example available at http://kirilllykov.github.io/blog/2013/06/06/seam-carving-algorithm/

### Additional Notes

Please ensure that MATLAB is properly configured with image processing libraries to execute the scripts without errors.