Fugenschnitzer is a Seam Carving program library and an application program basing on it,
written 2008/2009 in C and Python by David Eckardt, and
published under the terms and conditions of the GNU General Public License (GPL) 3 and the GNU Lesser General
Public License (LGPL) 3.
Fugenschnitzer is a Source-Forge-Projekt: http://fugenschnitzer.sourceforge.net
More information can be found on the main page.
Fugenschnitzer consists of these components:
Seam Carving is a method for resizing images (bitmap graphics). Seam Carving was introduced in 2007 by Ariel Shamir and Shai Avidan. A comprehensive explanation of this method can be found on http://www.seamcarving.com.
The Fugenschnitzer Program Library
contails the actual Seam Carving implementation. Its functions contain the routines which neccessary to
resize a loaded image and a couple of useful tools.
The library is written in plain C (C99) and contains about 3000 lines of source code. The source code intentionally does not contain any machine or platform specific instructions or assumptions in order to archieve a high portability. (The only exception from this is the image data byte order (endianness).) Furthermore, the program library depends only on the C99 standard library.
The Fugenschnitzer Program Library is invoked by an application program as a dynamic run-time library.
Two Fugenschnitzer Application Programs are available: One with a graphic user interface (GUI) and another one command line based (CLI). Both represent a user interface to control the Fugenschnitzer library functions and to load and save an image. The command line program additionally serves as example how to invoke and use the Fugenschnitzer-Bibliothek with a C program.
The GUI version is written in Python 2.6 and uses the GUI Toolkit wxPython 2.8.9. Invocation of the Fugenschnitzer library is done through the Python ctypes module.
Like the Fugenschnitzer library, the CLI Version is written in C99 and uses the libpng to load and save images in the PNG format.
You can retrieve Fugenschnitzer via these links:
To compile the Fugenschnitzer Program Library, GCC 4 or higher is reqired.
First download the source code package and extract it into any directory. Then open the Makefile with a text editor and remove the comment characters in the section of the target platform. For more information see the Makefile.
After editing the Makefile, enter
to compile the library.
This also requires GCC 4 or higher and additionally:
Here applies same as for compiling the library. Additionally, the Fugenschnitzer
library must be placed in the source code directory or in the search path for external libraries.
The library is a single file named as follows:
The include header
seamcarv.h must also be placed in the include search path or in the source code
This is also done by