Commit 1f1f34d3c15e6b481b88cf4d3ee4ed2555556afd

Authored by Scott Klum
2 parents a222b5ba 1c4babd0

Merge branch 'master' of https://github.com/biometrics/openbr

openbr/core/common.h
@@ -153,11 +153,10 @@ void MeanStdDev(const V<T> &vals, double *mean, double *stddev) @@ -153,11 +153,10 @@ void MeanStdDev(const V<T> &vals, double *mean, double *stddev)
153 template<template<typename> class C, typename T> 153 template<template<typename> class C, typename T>
154 T Median(C<T> vals, T *q1 = 0, T *q3 = 0) 154 T Median(C<T> vals, T *q1 = 0, T *q3 = 0)
155 { 155 {
156 - if (vals.isEmpty()) return std::numeric_limits<float>::quiet_NaN();  
157 qSort(vals); 156 qSort(vals);
158 - if (q1 != 0) *q1 = vals[1*vals.size()/4];  
159 - if (q3 != 0) *q3 = vals[3*vals.size()/4];  
160 - return vals[vals.size()/2]; 157 + if (q1 != 0) *q1 = vals.isEmpty() ? 0 : vals[1*vals.size()/4];
  158 + if (q3 != 0) *q3 = vals.isEmpty() ? 0 : vals[3*vals.size()/4];
  159 + return vals.isEmpty() ? 0 : vals[vals.size()/2];
161 } 160 }
162 161
163 /*! 162 /*!
openbr/openbr_export.cpp
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
24 * OpenBR originated within The MITRE Corporation from a need to streamline the process of prototyping new algorithms. 24 * OpenBR originated within The MITRE Corporation from a need to streamline the process of prototyping new algorithms.
25 * The project was later published as open source software under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2</a> license and is <i>free for academic and commercial use</i>. 25 * The project was later published as open source software under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2</a> license and is <i>free for academic and commercial use</i>.
26 * 26 *
27 - * \image html "share/openbr/abstraction.svg" "The two principal software artifacts are the shared library 'openbr' and command line application 'br'." 27 + * \image html "abstraction.svg" "The two principal software artifacts are the shared library 'openbr' and command line application 'br'."
28 * 28 *
29 * \section get_started Get Started 29 * \section get_started Get Started
30 * - \ref installation - \copybrief installation 30 * - \ref installation - \copybrief installation
@@ -45,8 +45,7 @@ @@ -45,8 +45,7 @@
45 * - \subpage windows_msvc 45 * - \subpage windows_msvc
46 * - \subpage windows_mingw 46 * - \subpage windows_mingw
47 * - \subpage osx_clang 47 * - \subpage osx_clang
48 - * - \subpage linux_gcc  
49 - * - \subpage linux_icc 48 + * - \subpage linux_all
50 * 49 *
51 * \section installation_from_binary From Binary 50 * \section installation_from_binary From Binary
52 * Pre-compiled releases are not currently provided, but they can be built from source using the instructions above. 51 * Pre-compiled releases are not currently provided, but they can be built from source using the instructions above.
@@ -70,13 +69,13 @@ $ export DYLD_FRAMEWORK_PATH=../lib:${DYLD_FRAMEWORK_PATH} @@ -70,13 +69,13 @@ $ export DYLD_FRAMEWORK_PATH=../lib:${DYLD_FRAMEWORK_PATH}
70 * No configuration is necessary! 69 * No configuration is necessary!
71 * 70 *
72 * \section installation_license_dongle License Dongle 71 * \section installation_license_dongle License Dongle
73 - * If you were given a USB License Dongle, then dongle must be in the computer in order to use the SDK. 72 + * In the unlikely event that you were given a USB License Dongle, then dongle must be in the computer in order to use the SDK.
74 * No configuration of the dongle is needed. 73 * No configuration of the dongle is needed.
75 * 74 *
76 * \section installation_done Start Working 75 * \section installation_done Start Working
77 * To test for successful installation: 76 * To test for successful installation:
78 \verbatim 77 \verbatim
79 -$ cd bin/ 78 +$ cd bin
80 $ br -help 79 $ br -help
81 \endverbatim 80 \endverbatim
82 */ 81 */
@@ -88,17 +87,17 @@ $ br -help @@ -88,17 +87,17 @@ $ br -help
88 * -# You will have to register with Microsoft after installation, but it's free. 87 * -# You will have to register with Microsoft after installation, but it's free.
89 * -# Grab any available <a href="http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update">Visual Studio Updates</a>. 88 * -# Grab any available <a href="http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update">Visual Studio Updates</a>.
90 * -# Download and install <a href="http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx">Windows 8 SDK</a>. 89 * -# Download and install <a href="http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx">Windows 8 SDK</a>.
91 - * -# <a href="http://www.cmake.org/files/v2.8/cmake-2.8.10.2-win32-x86.exe">Download CMake 2.8.10.2</a> and install. 90 + * -# <a href="http://www.cmake.org/files/v2.8/cmake-2.8.10.2-win32-x86.exe">Download and Install CMake 2.8.10.2</a>
92 * -# During installation setup select "add CMake to PATH". 91 * -# During installation setup select "add CMake to PATH".
93 - * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4.tar.bz2">Download OpenCV 2.4.4</a>. 92 + * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.5/opencv-2.4.5.tar.gz">Download OpenCV 2.4.5</a>.
94 * -# Consider the free open source program <a href="http://www.7-zip.org/">7-Zip</a> if you need a program to unarchive tarballs. 93 * -# Consider the free open source program <a href="http://www.7-zip.org/">7-Zip</a> if you need a program to unarchive tarballs.
95 - * -# Move the "OpenCV-2.4.4" folder to "C:\". 94 + * -# Move the "opencv-2.4.5" folder to "C:\".
96 * -# Open "VS2012 x64 Cross Tools Command Prompt" (from the Start Menu, select "All Programs" -> "Microsoft Visual Studio 2012" -> "Visual Studio Tools" -> "VS2012 x64 Cross Tools Command Prompt") and enter: 95 * -# Open "VS2012 x64 Cross Tools Command Prompt" (from the Start Menu, select "All Programs" -> "Microsoft Visual Studio 2012" -> "Visual Studio Tools" -> "VS2012 x64 Cross Tools Command Prompt") and enter:
97 * \code 96 * \code
98 - * $ cd C:\OpenCV-2.4.4 97 + * $ cd C:\opencv-2.4.5
99 * $ mkdir build-msvc2012 98 * $ mkdir build-msvc2012
100 * $ cd build-msvc2012 99 * $ cd build-msvc2012
101 - * $ cmake -G "NMake Makefiles" -DBUILD_opencv_java=OFF -DBUILD_opencv_world=ON -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DWITH_FFMPEG=OFF -DCMAKE_BUILD_TYPE=Debug .. 100 + * $ cmake -G "NMake Makefiles" -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DWITH_FFMPEG=OFF -DCMAKE_BUILD_TYPE=Debug ..
102 * $ nmake 101 * $ nmake
103 * $ nmake install 102 * $ nmake install
104 * $ cmake -DCMAKE_BUILD_TYPE=Release .. 103 * $ cmake -DCMAKE_BUILD_TYPE=Release ..
@@ -106,19 +105,7 @@ $ br -help @@ -106,19 +105,7 @@ $ br -help
106 * $ nmake install 105 * $ nmake install
107 * $ nmake clean 106 * $ nmake clean
108 * \endcode 107 * \endcode
109 - * -# <a href="http://releases.qt-project.org/qt5/5.0.1/single/qt-everywhere-opensource-src-5.0.1.zip">Download Qt 5.0.1</a> and unzip.  
110 - * -# Install Perl/Python/Ruby dependencies as explained in the "Windows" section of "README". Make sure they are added to "path" when given the option during installation.  
111 - * -# <a href="http://www.microsoft.com/en-us/download/confirmation.aspx?id=6812">Download Direct X Software Developement Kit</a> and install.  
112 - * -# From the VS2012 x64 Cross Tools Command Prompt:  
113 - * \code  
114 - * $ cd qt-everywhere-opensource-src-5.0.1  
115 - * $ configure -prefix C:\Qt\5.0.1\msvc2012 -opensource -confirm-license -nomake examples -nomake tests  
116 - * $ nmake  
117 - * $ nmake install  
118 - * $ cd ..  
119 - * $ rmdir /Q /S qt-everywhere-opensource-src-5.0.1  
120 - * \endcode  
121 - * -# nmake will take several hours to finish. 108 + * -# <a href="http://download.qt-project.org/official_releases/qt/5.0/5.0.2/qt-windows-opensource-5.0.2-msvc2012_64-x64-offline.exe">Download and Install Qt 5.0.2</a>
122 * -# Create a <a href="github.com">GitHub</a> account and follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>. 109 * -# Create a <a href="github.com">GitHub</a> account and follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>.
123 * -# Launch "Git Bash" from the Desktop and clone OpenBR: 110 * -# Launch "Git Bash" from the Desktop and clone OpenBR:
124 * \code 111 * \code
@@ -134,31 +121,30 @@ $ br -help @@ -134,31 +121,30 @@ $ br -help
134 * $ cd C:\openbr 121 * $ cd C:\openbr
135 * $ mkdir build-msvc2012 122 * $ mkdir build-msvc2012
136 * $ cd build-msvc2012 123 * $ cd build-msvc2012
137 - * $ cmake -G "CodeBlocks - NMake Makefiles" -DCMAKE_PREFIX_PATH="C:/OpenCV-2.4.4/build-msvc2012/install;C:/Qt/5.0.1/msvc2012" -DCMAKE_INSTALL_PREFIX="./install" -DBR_INSTALL_DEPENDENCIES=ON -DCMAKE_BUILD_TYPE=Release .. 124 + * $ cmake -G "CodeBlocks - NMake Makefiles" -DCMAKE_PREFIX_PATH="C:/openCV-2.4.5/build-msvc2012/install;C:/Qt/Qt5.0.2/5.0.2/msvc2012_64" -DCMAKE_INSTALL_PREFIX="./install" -DBR_INSTALL_DEPENDENCIES=ON -DCMAKE_BUILD_TYPE=Release ..
138 * $ nmake 125 * $ nmake
139 * $ nmake install 126 * $ nmake install
140 * \endcode 127 * \endcode
141 * -# Check out the "install" folder. 128 * -# Check out the "install" folder.
142 * -# Hack OpenBR! 129 * -# Hack OpenBR!
143 - * -# <a href="http://releases.qt-project.org/qtcreator/2.6.2/qt-creator-windows-opensource-2.6.2.exe">Download Qt Creator</a> IDE and install.  
144 * -# From the VS2012 x64 Cross Tools Command Prompt: 130 * -# From the VS2012 x64 Cross Tools Command Prompt:
145 * \code 131 * \code
146 - * $ C:\Qt\qtcreator-2.6.2\bin\qtcreator.exe 132 + * $ C:\Qt\Qt5.0.2\Tools\QtCreator\bin\qtcreator.exe
147 * \endcode 133 * \endcode
148 * -# From the Qt Creator "Tools" menu select "Options..." 134 * -# From the Qt Creator "Tools" menu select "Options..."
149 * -# Under "Kits" select "Desktop (default)" 135 * -# Under "Kits" select "Desktop (default)"
150 - * -# For "Compiler:" select "Microsoft Visual C++ Compiler 11.0 (amd64)" and click "OK" 136 + * -# For "Compiler:" select "Microsoft Visual C++ Compiler 11.0 (x86_amd64)" and click "OK"
151 * -# From the Qt Creator "File" menu select "Open File or Project...". 137 * -# From the Qt Creator "File" menu select "Open File or Project...".
152 * -# Select "C:\openbr\CMakeLists.txt" then "Open". 138 * -# Select "C:\openbr\CMakeLists.txt" then "Open".
153 - * -# Browse to your prexisting build directory "C:\openbr\build-msvc2012" then select "Next".  
154 - * -# Clear any text in the "arguments" box then select "Run CMake" then "Finish".  
155 - * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator-2.6/">here</a> if you need. 139 + * -# If prompted for the location of CMake, enter "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe".
  140 + * -# Browse to your pre-existing build directory "C:\openbr\build-msvc2012" then select "Next".
  141 + * -# Select "Run CMake" then "Finish".
  142 + * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator">here</a> if you need.
156 * -# (Optional) Package OpenBR! 143 * -# (Optional) Package OpenBR!
157 - * -# <a href="http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-setup.exe/download?use_mirror=iweb&download=">Download NSIS 2.46</a> and install.  
158 * -# From the VS2012 x64 Cross Tools Command Prompt: 144 * -# From the VS2012 x64 Cross Tools Command Prompt:
159 * \code 145 * \code
160 * $ cd C:\openbr\build-msvc2012 146 * $ cd C:\openbr\build-msvc2012
161 - * $ nmake package 147 + * $ cpack -G ZIP
162 * \endcode 148 * \endcode
163 */ 149 */
164 150
@@ -180,7 +166,7 @@ $ br -help @@ -180,7 +166,7 @@ $ br -help
180 * $ cmake -G "MinGW Makefiles" -DBUILD_opencv_java=OFF -DBUILD_opencv_world=ON -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DWITH_FFMPEG=OFF -DCMAKE_BUILD_TYPE=Debug .. 166 * $ cmake -G "MinGW Makefiles" -DBUILD_opencv_java=OFF -DBUILD_opencv_world=ON -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DWITH_FFMPEG=OFF -DCMAKE_BUILD_TYPE=Debug ..
181 * $ mingw32-make 167 * $ mingw32-make
182 * $ mingw32-make install 168 * $ mingw32-make install
183 - * $ cmake -DCMAKE_BUILD_TYPE=Release 169 + * $ cmake -DCMAKE_BUILD_TYPE=Release ..
184 * $ mingw32-make 170 * $ mingw32-make
185 * $ mingw32-make install 171 * $ mingw32-make install
186 * $ mingw32-make clean 172 * $ mingw32-make clean
@@ -229,7 +215,7 @@ $ br -help @@ -229,7 +215,7 @@ $ br -help
229 * -# For "Compiler:" select "MinGW (x86 64bit)" and click "OK" 215 * -# For "Compiler:" select "MinGW (x86 64bit)" and click "OK"
230 * -# From the Qt Creator "File" menu select "Open File or Project...". 216 * -# From the Qt Creator "File" menu select "Open File or Project...".
231 * -# Select "C:\openbr\CMakeLists.txt" then "Open". 217 * -# Select "C:\openbr\CMakeLists.txt" then "Open".
232 - * -# Browse to your prexisting build directory "C:\openbr\build-mingw64" then select "Next". 218 + * -# Browse to your pre-existing build directory "C:\openbr\build-mingw64" then select "Next".
233 * -# Clear any text in the "arguments" box then select "Run CMake" then "Finish". 219 * -# Clear any text in the "arguments" box then select "Run CMake" then "Finish".
234 * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator-2.6/">here</a> if you need. 220 * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator-2.6/">here</a> if you need.
235 * -# (Optional) Package OpenBR! 221 * -# (Optional) Package OpenBR!
@@ -244,7 +230,7 @@ $ br -help @@ -244,7 +230,7 @@ $ br -help
244 /*! 230 /*!
245 * \page osx_clang OS X Mountain Lion - Clang/LLVM 3.1 - x64 231 * \page osx_clang OS X Mountain Lion - Clang/LLVM 3.1 - x64
246 * -# Download and install the latest "Xcode" and "Command Line Tools" from the <a href="https://developer.apple.com/downloads/index.action#">Apple Developer Downloads</a> page. 232 * -# Download and install the latest "Xcode" and "Command Line Tools" from the <a href="https://developer.apple.com/downloads/index.action#">Apple Developer Downloads</a> page.
247 - * -# <a href="http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz">Download CMake 2.8.10.2</a>. 233 + * -# <a href="http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz">Download CMake 2.8.10.2</a>
248 * \code 234 * \code
249 * $ cd ~/Downloads 235 * $ cd ~/Downloads
250 * $ tar -xf cmake-2.8.10.2.tar.gz 236 * $ tar -xf cmake-2.8.10.2.tar.gz
@@ -253,22 +239,22 @@ $ br -help @@ -253,22 +239,22 @@ $ br -help
253 * $ make -j4 239 * $ make -j4
254 * $ sudo make install 240 * $ sudo make install
255 * $ cd .. 241 * $ cd ..
256 - * $ rm -r cmake-2.8.10.2 242 + * $ rm -rf cmake-2.8.10.2*
257 * \endcode 243 * \endcode
258 - * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4.tar.bz2">Download OpenCV 2.4.4</a>. 244 + * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.5/opencv-2.4.5.tar.gz">Download OpenCV 2.4.5</a>
259 * \code 245 * \code
260 * $ cd ~/Downloads 246 * $ cd ~/Downloads
261 - * $ tar -xf OpenCV-2.4.4.tar.bz2  
262 - * $ cd OpenCV-2.4.4 247 + * $ tar -xf opencv-2.4.5.tar.gz
  248 + * $ cd opencv-2.4.5
263 * $ mkdir build 249 * $ mkdir build
264 * $ cd build 250 * $ cd build
265 - * $ cmake -DBUILD_opencv_java=OFF -DBUILD_opencv_world=OFF -DCMAKE_BUILD_TYPE=Release .. 251 + * $ cmake -DCMAKE_BUILD_TYPE=Release ..
266 * $ make -j4 252 * $ make -j4
267 * $ sudo make install 253 * $ sudo make install
268 * $ cd ../.. 254 * $ cd ../..
269 - * $ rm -r OpenCV-2.4.4 255 + * $ rm -rf opencv-2.4.5*
270 * \endcode 256 * \endcode
271 - * -# <a href="http://releases.qt-project.org/qt5/5.0.1/qt-mac-opensource-5.0.1-clang-offline.dmg">Download Qt 5.0.1</a> and install. 257 + * -# <a href="http://download.qt-project.org/official_releases/qt/5.0/5.0.2/qt-mac-opensource-5.0.2-clang-offline.dmg">Download and install Qt 5.0.2</a>
272 * -# Create a <a href="github.com">GitHub</a> account, follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>. 258 * -# Create a <a href="github.com">GitHub</a> account, follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>.
273 * \code 259 * \code
274 * $ git clone https://github.com/biometrics/openbr.git 260 * $ git clone https://github.com/biometrics/openbr.git
@@ -278,30 +264,36 @@ $ br -help @@ -278,30 +264,36 @@ $ br -help
278 * \endcode 264 * \endcode
279 * -# Build OpenBR! 265 * -# Build OpenBR!
280 * \code 266 * \code
281 - * $ cd openbr  
282 - * $ mkdir build 267 + * $ mkdir build # from the OpenBR root directory
283 * $ cd build 268 * $ cd build
284 - * $ cmake -DCMAKE_PREFIX_PATH=~/Qt5.0.1/5.0.1/clang_64 -DCMAKE_BUILD_TYPE=Release .. 269 + * $ cmake -DCMAKE_PREFIX_PATH=~/Qt5.0.2/5.0.2/clang_64 -DCMAKE_BUILD_TYPE=Release ..
285 * $ make -j4 270 * $ make -j4
286 * $ sudo make install 271 * $ sudo make install
287 * \endcode 272 * \endcode
288 * -# Hack OpenBR! 273 * -# Hack OpenBR!
289 * -# Open Qt Creator IDE 274 * -# Open Qt Creator IDE
290 * \code 275 * \code
291 - * $ open ~/Qt5.0.1/Qt\ Creator.app 276 + * $ open ~/Qt5.0.2/Qt\ Creator.app
292 * \endcode 277 * \endcode
293 * -# From the Qt Creator "File" menu select "Open File or Project...". 278 * -# From the Qt Creator "File" menu select "Open File or Project...".
294 - * -# Select "~/openbr/CMakeLists.txt" then "Open".  
295 - * -# Browse to your prexisting build directory "~/openbr/build" then select "Continue". 279 + * -# Select "openbr/CMakeLists.txt" then "Open".
  280 + * -# Browse to your pre-existing build directory "openbr/build" then select "Continue".
296 * -# Select "Run CMake" then "Done". 281 * -# Select "Run CMake" then "Done".
297 * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator">here</a> if you need. 282 * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator">here</a> if you need.
  283 + * -# (Optional) Test OpenBR!
  284 + * \code
  285 + * $ cd openbr/scripts
  286 + * $ ./downloadDatasets.sh
  287 + * $ cd ../build
  288 + * $ make test
  289 + * \endcode
298 * -# (Optional) Package OpenBR! 290 * -# (Optional) Package OpenBR!
299 * \code 291 * \code
300 * $ cd openbr/build 292 * $ cd openbr/build
301 - * $ make package 293 + * $ sudo cpack -G TGZ
302 * \endcode 294 * \endcode
303 * -# (Optional) Build OpenBR documentation! 295 * -# (Optional) Build OpenBR documentation!
304 - * -# <a href="ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.2.src.tar.gz">Download Doxygen 1.8.2</a> and install: 296 + * -# <a href="ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.2.src.tar.gz">Download Doxygen 1.8.2</a>
305 * \code 297 * \code
306 * $ cd ~/Downloads 298 * $ cd ~/Downloads
307 * $ tar -xf doxygen-1.8.2.src.tar.gz 299 * $ tar -xf doxygen-1.8.2.src.tar.gz
@@ -310,9 +302,9 @@ $ br -help @@ -310,9 +302,9 @@ $ br -help
310 * $ make -j4 302 * $ make -j4
311 * $ sudo make install 303 * $ sudo make install
312 * $ cd .. 304 * $ cd ..
313 - * $ rm -r doxygen-1.8.2 305 + * $ rm -rf doxygen-1.8.2*
314 * \endcode 306 * \endcode
315 - * -# Modify build settings and recompile: 307 + * -# Modify build settings and recompile.
316 * \code 308 * \code
317 * $ cd openbr/build 309 * $ cd openbr/build
318 * $ cmake -DBR_BUILD_DOCUMENTATION=ON .. 310 * $ cmake -DBR_BUILD_DOCUMENTATION=ON ..
@@ -322,42 +314,33 @@ $ br -help @@ -322,42 +314,33 @@ $ br -help
322 */ 314 */
323 315
324 /*! 316 /*!
325 - * \page linux_gcc Ubuntu 12.04 LTS - GCC 4.6.3 - x64  
326 - * -# Install GCC 4.6.3. 317 + * \page linux_all Ubuntu 13.04 - GCC 4.7.3 or ICC 13.1.1 - x64
  318 + * -# Install GCC 4.7.3
327 * \code 319 * \code
328 * $ sudo apt-get update 320 * $ sudo apt-get update
329 * $ sudo apt-get install build-essential 321 * $ sudo apt-get install build-essential
330 * \endcode 322 * \endcode
331 - * -# <a href="http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz">Download CMake 2.8.10.2</a>. 323 + * -# (Optional) Assuming you meet the eligibility requirements and you want to use ICC instead of GCC, <a href="http://software.intel.com/en-us/non-commercial-software-development">Download and Install Intel C++ Studio XE 2013</a>.
  324 + * -# Install CMake 2.8.10.1
332 * \code 325 * \code
333 - * $ cd ~/Downloads  
334 - * $ tar -xf cmake-2.8.10.2.tar.gz  
335 - * $ cd cmake-2.8.10.2  
336 - * $ ./configure  
337 - * $ make -j4  
338 - * $ sudo make install  
339 - * $ cd ..  
340 - * $ rm -r cmake-2.8.10.2 326 + * $ sudo apt-get install cmake cmake-curses-gui
341 * \endcode 327 * \endcode
342 - * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4.tar.bz2">Download OpenCV 2.4.4</a>. 328 + * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.5/opencv-2.4.5.tar.gz">Download OpenCV 2.4.5</a>
343 * \code 329 * \code
344 * $ cd ~/Downloads 330 * $ cd ~/Downloads
345 - * $ tar -xf OpenCV-2.4.4.tar.bz2  
346 - * $ cd OpenCV-2.4.4 331 + * $ tar -xf opencv-2.4.5.tar.gz
  332 + * $ cd opencv-2.4.5
347 * $ mkdir build 333 * $ mkdir build
348 * $ cd build 334 * $ cd build
349 - * $ cmake -DBUILD_opencv_java=OFF -DBUILD_opencv_world=ON -DCMAKE_BUILD_TYPE=Release .. 335 + * $ cmake -DCMAKE_BUILD_TYPE=Release ..
350 * $ make -j4 336 * $ make -j4
351 * $ sudo make install 337 * $ sudo make install
352 * $ cd ../.. 338 * $ cd ../..
353 - * $ rm -r OpenCV-2.4.4 339 + * $ rm -rf opencv-2.4.5*
354 * \endcode 340 * \endcode
355 - * -# <a href="http://releases.qt-project.org/qt5/5.0.1/qt-linux-opensource-5.0.1-x86_64-offline.run">Download Qt 5.0.1</a>. 341 + * -# Install Qt 5.0.1
356 * \code 342 * \code
357 - * $ cd ~/Downloads  
358 - * $ chmod +x qt-linux-opensource-5.0.1-x86_64-offline.run  
359 - * $ ./qt-linux-opensource-5.0.1-x86_64-offline.run  
360 - * $ rm qt-linux-opensource-5.0.1-x86_64-offline.run 343 + * $ sudo apt-get install qt5-default libqt5svg5-dev qtcreator
361 * \endcode 344 * \endcode
362 * -# Create a <a href="github.com">GitHub</a> account, follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>. 345 * -# Create a <a href="github.com">GitHub</a> account, follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>.
363 * \code 346 * \code
@@ -368,94 +351,43 @@ $ br -help @@ -368,94 +351,43 @@ $ br -help
368 * \endcode 351 * \endcode
369 * -# Build OpenBR! 352 * -# Build OpenBR!
370 * \code 353 * \code
371 - * $ cd openbr  
372 - * $ mkdir build 354 + * $ mkdir build # from the OpenBR root directory
373 * $ cd build 355 * $ cd build
374 - * $ cmake -DCMAKE_PREFIX_PATH=~/Qt5.0.1/5.0.1/gcc_64 -DCMAKE_BUILD_TYPE=Release .. 356 + * $ cmake -DCMAKE_BUILD_TYPE=Release .. # GCC Only
  357 + * $ cmake -DCMAKE_C_COMPILER=/opt/intel/bin/icc -DCMAKE_CXX_COMPILER=/opt/intel/bin/icpc -DCMAKE_BUILD_TYPE=Release .. # ICC Only
375 * $ make -j4 358 * $ make -j4
376 * $ sudo make install 359 * $ sudo make install
377 * \endcode 360 * \endcode
378 * -# Hack OpenBR! 361 * -# Hack OpenBR!
379 * -# Open Qt Creator IDE 362 * -# Open Qt Creator IDE
380 * \code 363 * \code
381 - * $ ~/Qt5.0.1/Tools/QtCreator/bin/qtcreator & 364 + * $ qtcreator &
382 * \endcode 365 * \endcode
383 * -# From the Qt Creator "File" menu select "Open File or Project...". 366 * -# From the Qt Creator "File" menu select "Open File or Project...".
384 - * -# Select "~/openbr/CMakeLists.txt" then "Open".  
385 - * -# Browse to your prexisting build directory "~/openbr/build" then select "Next". 367 + * -# Select "openbr/CMakeLists.txt" then "Open".
  368 + * -# Browse to your pre-existing build directory "openbr/build" then select "Next".
386 * -# Select "Run CMake" then "Finish". 369 * -# Select "Run CMake" then "Finish".
387 - * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator-2.6/">here</a> if you need.  
388 - * -# (Optional) Package OpenBR!  
389 - * \code  
390 - * $ cd openbr/build  
391 - * $ make package  
392 - * \endcode  
393 - */  
394 -  
395 -/*!  
396 - * \page linux_icc Ubuntu 12.04 LTS - Intel C++ Studio XE 2013 - x64  
397 - * -# Assuming you meet the eligibility requirements, <a href="http://software.intel.com/en-us/non-commercial-software-development">Download Intel C++ Studio XE 2013</a> and install.  
398 - * -# <a href="http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz">Download CMake 2.8.10.2</a>.  
399 - * \code  
400 - * $ cd ~/Downloads  
401 - * $ tar -xf cmake-2.8.10.2.tar.gz  
402 - * $ cd cmake-2.8.10.2  
403 - * $ ./configure  
404 - * $ make -j4  
405 - * $ sudo make install  
406 - * $ cd ..  
407 - * $ rm -r cmake-2.8.10.2  
408 - * \endcode  
409 - * -# <a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4.tar.bz2">Download OpenCV 2.4.4</a>.  
410 - * \code  
411 - * $ cd ~/Downloads  
412 - * $ tar -xf OpenCV-2.4.4.tar.bz2  
413 - * $ cd OpenCV-2.4.4  
414 - * $ mkdir build  
415 - * $ cd build  
416 - * $ cmake cmake -DBUILD_opencv_java=OFF -DBUILD_opencv_world=ON -DCMAKE_BUILD_TYPE=Release ..  
417 - * $ make -j4  
418 - * $ sudo make install  
419 - * $ cd ../..  
420 - * $ rm -r OpenCV-2.4.4  
421 - * \endcode  
422 - * -# <a href="http://releases.qt-project.org/qt5/5.0.1/qt-linux-opensource-5.0.1-x86_64-offline.run">Download Qt 5.0.1</a>.  
423 - * \code  
424 - * $ cd ~/Downloads  
425 - * $ chmod +x qt-linux-opensource-5.0.1-x86_64-offline.run  
426 - * $ ./qt-linux-opensource-5.0.1-x86_64-offline.run  
427 - * $ rm qt-linux-opensource-5.0.1-x86_64-offline.run  
428 - * \endcode  
429 - * -# Create a <a href="github.com">GitHub</a> account, follow their instructions for <a href="https://help.github.com/articles/set-up-git">setting up Git</a>. 370 + * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator">here</a> if you need.
  371 + * -# (Optional) Test OpenBR!
430 * \code 372 * \code
431 - * $ git clone https://github.com/biometrics/openbr.git  
432 - * $ cd openbr  
433 - * $ git submodule init  
434 - * $ git submodule update 373 + * $ cd openbr/scripts
  374 + * $ ./downloadDatasets.sh
  375 + * $ cd ../build
  376 + * $ make test
435 * \endcode 377 * \endcode
436 - * -# Build OpenBR! 378 + * -# (Optional) Package OpenBR!
437 * \code 379 * \code
438 - * $ cd openbr  
439 - * $ mkdir build-icc  
440 - * $ cd build-icc  
441 - * $ cmake -DCMAKE_C_COMPILER=/opt/intel/bin/icc -DCMAKE_CXX_COMPILER=/opt/intel/bin/icpc -DCMAKE_PREFIX_PATH=~/Qt5.0.1/5.0.1/gcc_64 -DCMAKE_BUILD_TYPE=Release ..  
442 - * $ make -j4  
443 - * $ sudo make install 380 + * $ cd openbr/build
  381 + * $ sudo cpack -G TGZ
444 * \endcode 382 * \endcode
445 - * -# Hack OpenBR!  
446 - * -# Open Qt Creator IDE  
447 - * \code  
448 - * $ ~/Qt5.0.1/Tools/QtCreator/bin/qtcreator &  
449 - * \endcode  
450 - * -# From the Qt Creator "File" menu select "Open File or Project...".  
451 - * -# Select "~/openbr/CMakeLists.txt" then "Open".  
452 - * -# Browse to your prexisting build directory "~/openbr/build" then select "Next".  
453 - * -# Select "Run CMake" then "Finish".  
454 - * -# You're all set! You can find more information on Qt Creator <a href="http://qt-project.org/doc/qtcreator-2.6/">here</a> if you need.  
455 - * -# (Optional) Package OpenBR! 383 + * -# (Optional) Build OpenBR documentation!
456 * \code 384 * \code
  385 + * $ sudo apt-get install doxygen
457 * $ cd openbr/build 386 * $ cd openbr/build
458 - * $ make package 387 + * $ cmake -DBR_BUILD_DOCUMENTATION=ON ..
  388 + * $ make -j4
  389 + * $ sudo apt-get install libgnome2-bin
  390 + * $ gnome-open html/index.html
459 * \endcode 391 * \endcode
460 */ 392 */
461 393
openbr/openbr_plugin.cpp
@@ -425,8 +425,6 @@ TemplateList TemplateList::fromGallery(const br::File &amp;gallery) @@ -425,8 +425,6 @@ TemplateList TemplateList::fromGallery(const br::File &amp;gallery)
425 if (crossValidate > 0) srand(0); 425 if (crossValidate > 0) srand(0);
426 426
427 for (int i=newTemplates.size()-1; i>=0; i--) { 427 for (int i=newTemplates.size()-1; i>=0; i--) {
428 - newTemplates[i].file.append(gallery.localMetadata());  
429 - newTemplates[i].file.append(file.localMetadata());  
430 newTemplates[i].file.set("Index", i+templates.size()); 428 newTemplates[i].file.set("Index", i+templates.size());
431 newTemplates[i].file.set("Gallery", gallery.name); 429 newTemplates[i].file.set("Gallery", gallery.name);
432 430
share/openbr/Doxyfile.in
@@ -755,7 +755,7 @@ EXAMPLE_RECURSIVE = YES @@ -755,7 +755,7 @@ EXAMPLE_RECURSIVE = YES
755 # directories that contain image that are included in the documentation (see 755 # directories that contain image that are included in the documentation (see
756 # the \image command). 756 # the \image command).
757 757
758 -IMAGE_PATH = ${CMAKE_SOURCE_DIR} 758 +IMAGE_PATH = ${CMAKE_SOURCE_DIR}/share/openbr
759 759
760 # The INPUT_FILTER tag can be used to specify a program that doxygen should 760 # The INPUT_FILTER tag can be used to specify a program that doxygen should
761 # invoke to filter for each input file. Doxygen will invoke the filter program 761 # invoke to filter for each input file. Doxygen will invoke the filter program
share/openbr/cmake/InstallDependencies.cmake
@@ -33,7 +33,7 @@ function(install_qt_library lib) @@ -33,7 +33,7 @@ function(install_qt_library lib)
33 if(${CMAKE_BUILD_TYPE} MATCHES Debug) 33 if(${CMAKE_BUILD_TYPE} MATCHES Debug)
34 set(BR_INSTALL_DEPENDENCIES_SUFFIX "d") 34 set(BR_INSTALL_DEPENDENCIES_SUFFIX "d")
35 endif() 35 endif()
36 - install(FILES ${_qt5Core_install_prefix}/lib/Qt5${lib}${BR_INSTALL_DEPENDENCIES_SUFFIX}.dll DESTINATION bin) 36 + install(FILES ${_qt5Core_install_prefix}/bin/Qt5${lib}${BR_INSTALL_DEPENDENCIES_SUFFIX}.dll DESTINATION bin)
37 elseif(CMAKE_HOST_APPLE) 37 elseif(CMAKE_HOST_APPLE)
38 install(DIRECTORY ${_qt5Core_install_prefix}/lib/Qt${lib}.framework DESTINATION lib) 38 install(DIRECTORY ${_qt5Core_install_prefix}/lib/Qt${lib}.framework DESTINATION lib)
39 else() 39 else()