File: README

package info (click to toggle)
liblqr 0.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 1,844 kB
  • ctags: 329
  • sloc: sh: 9,065; ansic: 2,201; cpp: 934; makefile: 188
file content (120 lines) | stat: -rw-r--r-- 3,345 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

LiquidRescale library
=====================

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 API
  * Areas in the image can be marked for preservation or
    discard
  * 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 
  * 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
  * Reports progress through a customizable interface
  * A signalling system permits to cleanly handle errors



+ Installation
--------------

++ Requirements

The lqr library requires the glib-2.0 libraries

++ Normal setup

The build package uses autotools and libtool, so the installation
commands on Unix systems are simply

./configure --prefix=/usr && make && sudo make install

The last step requires administrative privileges.
(If the dynamic linker path includes /usr/local/lib, the --prefix
option is not needed.)

See the INSTALL file for a full description.



+ Using the library
------------------------

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', toghether 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 description of the library functions, together with
some additional notes, can be found in the `docs' directory in
docbook format. The makefile in that directory (hopefully)
generates the html version, using docbook2html;
you'll find the index named after `liblqr_manual_index.html'



+ 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 Carlo Baldassi <carlobaldassi@gmail.com>