iRoCS Toolbox
1.1.0
src
libBlitz2DGraphics
ProjectDesc.hh
Go to the documentation of this file.
1
/**************************************************************************
2
*
3
* Copyright (C) 2008 Alexandra Teynor
4
*
5
* Image Analysis Lab, University of Freiburg, Germany
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*
21
**************************************************************************/
22
23
/*
24
*
25
* \mainpage libBlitz2Dgraphics
26
*
27
* This is a little collection of graphics related functions for images stored
28
* within blitz arrays.
29
* <br><br>
30
*
31
* \section sec1 Overview of the functionality
32
* <ul>
33
* <li>Reading images to blitz arrays from the following formats:<br>
34
* jpg, png, tiff
35
* </li>
36
*
37
* <li>Writing images from blitz arrays to the following formats:<br>
38
* jpg, png, ppm(ascii), pgm(ascii)
39
* </li>
40
*
41
* <li>Basic color space conversion:<br>
42
* rgb <=> hsv, hsv <=> rgb, rgb <=> gray,
43
* </li>
44
*
45
* <li>Drawing of basic graphic primitives<br>
46
* lines, circles, rectangles
47
* </li>
48
*
49
* <li>Very simple color management<br>
50
* some predefined colors and a jet color map
51
* </li>
52
*
53
* </ul>
54
* <br>
55
*
56
* \section sec2 blitz::Arrays as images
57
*
58
*
59
* There are basically two storage formats:
60
*
61
* <ol>
62
* <li> <b>3D blitz arrays</b> (layered representation) <br><br>
63
* The first dimension describes the different color layers,
64
* typically RGB (red, green, blue) or HSV (hue, saturation,
65
* value). The second dimension specifies the y, and the
66
* third dimension the x coordinate. For gray images,
67
* the extent of the first dimension is 1.
68
* In this format, the individual color layers are stored
69
* consecutively in memory, and processing of individual
70
* color layers becomes more efficient.
71
* <br><br>
72
* For RGB images, the data type is unsigned char, for HSV
73
* images the data type is float:<br>
74
* blitz::Array<unsigned char, 3> rgbImage;<br>
75
* blitz::Array<float, 3> hsvImage;
76
* <br><br>
77
* </li>
78
*
79
* <li> <b>2D blitz arrays</b> (vectorial representation) <br><br>
80
* The first dimension specifies the y, the second
81
* dimension the x coordinate of a pixel. The color at each pixel
82
* is represented as a blitz::TinyVector with 3 entries. They represent
83
* the RGB or HSV values. For gray images, scalars are used for each
84
* array entry.
85
* <br><br>
86
* Again, for RGB and gray images, the data type is unsigned char, for HSV
87
* images the data type is float:
88
* blitz::Array<blitz::TinyVector<unsigned char,
89
* 3>, 2> rgbImage;<br>
90
* blitz::Array<unsigned char, 2> grayImage;<br>
91
* blitz::Array<blitz::TinyVector<float, 3>, 2> hsvImage;<br>
92
* </li>
93
* </ol>
94
* <br>
95
*
96
* \section sec3 Prerequisites
97
*
98
* This library depends on the following libraries:
99
*
100
* <ul>
101
* <li> Blitz++ <a href=http://www.oonumerics.org/blitz/>
102
* http://www.oonumerics.org/blitz/</a><br>
103
* In the libBlitz2DGraphics library, we use a wrapped version
104
* of the blitz library by the chair of pattern recognition and
105
* image processing Freiburg (lmb). You can also use the standard
106
* blitz library, then only the part concerning the blitz library in
107
* the configure.in has to be exchanged.
108
* </li>
109
*
110
* <li>jpeglib
111
* <a href=ftp://ftp.uu.net/graphics/jpeg/>ftp://ftp.uu.net/graphics/jpeg/
112
* </a><br>
113
* Developed with version 62, but should work with others as well.
114
* </li>
115
*
116
* <li>pnglib
117
* <a href=http://www.libpng.org/pub/png/libpng.html>
118
* http://www.libpng.org/pub/png/libpng.html</a><br>
119
* Developed with version 1.2.15beta5, but should work with others as well.
120
* </li>
121
*
122
* <li>tifflib
123
* <a href=http://www.libtiff.org/>
124
* http://www.libtiff.org</a><br>
125
* Developed with version 3.8.2, but should work with others as well.
126
* </li>
127
* </ul>
128
*
129
* <br>
130
*
131
* Questions and comments to:<br>
132
* Alex.Teynor (teynor AT informatik.uni-freiburg.de)
133
* <br><br>
134
* December 2008
135
*
136
*
137
*********************************************************/
138
139
Generated on Wed Jul 31 2019 12:33:02 for iRoCS Toolbox by
1.8.13