farzonl / SeamCarving

A CLI tool that grows or shrinks images using a graph cut algorithm.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Seam Carving

Code status

codecov Build Status Total alerts Language grade: C/C++

Demo

Fluid Simulation

Dependencies

  • opencv

For Mac

brew install opencv

For Linux

  • pkg-config (also needed)
sudo apt-get install libopencv-dev pkg-config

For Windows

  • VS was never tested.
  • As a work around you can install the linux subsystem for windows and Xmig for X11 windows run the linux steps.

how to build?

make

how to run?

  • basic usage horizontal shrinking with fixed number of seams:
./exec <image>.png|jpg 
  • vertical or horizontal shrinking with fixed number of seams:
./exec <image>.png -h|-v
  • vertical or horizontal shrinking with variable number of seams:
./exec <image>.png -h|-v -n <number>

-Toggle shrink or grow usage.

./exec <image>.png -h|-v -r|-g -n <number>

Code Description

High Level Pipeline

Grow Pipeline

Shrink Pipeline

Class Presentation

presentation

Final Report

report

About

A CLI tool that grows or shrinks images using a graph cut algorithm.


Languages

Language:C++ 94.2%Language:Makefile 5.8%