stanback / liblqr Goto Github PK
View Code? Open in Web Editor NEWThis project forked from carlobaldassi/liblqr
Liquid Rescale library
License: GNU Lesser General Public License v3.0
This project forked from carlobaldassi/liblqr
Liquid Rescale library
License: GNU Lesser General Public License v3.0
LiquidRescale library 0.4.0 =========================== Table of contents ----------------- * Introduction + Library features * Installation + Requirements + Normal setup * Using the library * References * Copyright + Introduction -------------- The LiquidRescale (lqr) library provides a C/C++ API for performing non-uniform resizing of images by the seam-carving technique. ++ Library features The library takes images in plain array format as input and converts them to a multi-size representation. Following is a list of features: * Easy to use and fully documented API * Currently supports 8 bit to 64 bit per channel images * Support for different color models: grayscale, RGB, CMY and their variants, and even custom ones * Areas in the image can be marked for preservation or discard, or for additional seam rigidity * Once the image has been fully processed, the scaling can be done in real-time. In fact, the information can be saved and read out later without any further processing * The resizing is done with a single function which automatically performs all the necessary operations; it can also work in successive steps without wasting computational time * Possibility to tune the carving operation by letting the seams be less connected, or more rigid, or both (the rigidity can be also be modulated through a mask, to get a differnet behaviour in different areas of the image) * Can export and import the visibility map (the seams) * Other images can be attached and undergo the same carving process as the parent image * The automatic feature detection algorithm can be tuned by selecting among different energy gradient functions, and easily defining custom ones * Reports progress through a customisable interface * A signalling system permits to cleanly handle errors * Portable to all major OS's + Installation -------------- ++ Dependencies The lqr library depends on the glib-2.0 libraries ++ Normal setup The build package uses autotools and libtool, so the installation commands on Unix systems are simply ./configure && make && sudo make install The last step requires administrative privileges. (Note: the default installation path is /usr since version 0.4) If you want to also install the man pages for the library functions, add the option `--enable-install-man' in the call to ./configure. If you want to disable legacy macro names which do not begin with LQR_ then add the option `--diable-legacy-macros' See the INSTALL file for a full description. + Using the library for development ------------------------------------- In order to use the library functions and structures from a C or C++ program, you have to add this include line in your program: #include <lqr.h> At compile time, you can take advantage of pkg-config to set the proper flags. In the `examples' directory you can find a basic example program, `liquidrescale-basic', and a full-featured demo program, `liquidrescale', together with a simple Makefile. Both programs are fully commented. The "basic" version demonstrates how to use the strictly-needed library functions, while the full version uses almost all of the API methods provided. The Makefile shows how to set the compilation flags. See the README file in that directory for more information. The complete manual and reference for the library, together with some additional notes, can be found in the `docs' directory in docbook format. The reference is also provided in man page format. The makefile in that directory (hopefully) generates the manual in html format, using xsltproc; then you'll find the index named after `liblqr_manual_index.html'. See the README file in that directory for further information. + References ------------ The library implements the algorithm described in the paper "Seam Carving for Content-Aware Image Resizing" by Shai Avidan and Ariel Shamir, which can be found at http://www.faculty.idc.ac.il/arik/imret.pdf + Copyright ----------- Copyright (C) 2007-2009 Carlo Baldassi <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.