# Seam Carving Augustin Lucas, François Colin de Verdière Git repo: [https://gitea.augustin64.fr/m1-ENSL/seam-carving](https://gitea.augustin64.fr/m1-ENSL/seam-carving) The report is available as PDF file [report.pdf](report.pdf) ## References: - [Seam carving for content-aware image resizing](https://perso.crans.org/frenoy/matlab2012/seamcarving.pdf) ## Build ```bash mkdir -p build # Create build dir if needed cd build cmake .. # Update build/Makefile make # Compile cd .. ``` ## Usage ```bash build/seam-carving ... ``` Mandatory arguments: - `-s FILE`: source image - `-o FILE`: output image Options: - `-m FILE`: the mask. RGB image, of the same size than the source, red pixel are those to be removed, the green ones must be kept. - `-n NUMBER`: number of seams to compute or remove (default 0) - `--show-seams`: do not carve the image, only outputs the energy and the relevant seams - `-f FUNCTION NAME`: the energy function to use, see the [beginning of the source file to see the available functions](src/seam-carving.cpp) - `-u`: when a mask is provided and no seam number is provided, remove seams until the zone to remove has disappeared. ## Generation of the images of the report A `Makefile` is provided at the root of the repo, it can be used to generate the images that are shown in the report.