Frequently Asked Questions (FAQ)
- Is there really a need for yet another computer vision library?
Computer vision researchers generally have three choices available to them:
(1) use Matlab, (2) write code from scratch, or (3) build on top of an existing
library. While Matlab is unsurpassed for rapid prototyping, it is not suitable
for real-time projects or for algorithms whose inefficient implementations extend
their running times into hours or days. Matlab also lacks facilities (e.g., multiple
functions per file, encapsulation, etc.) for applying sound software engineering
practices to better organize large projects. Writing code from scratch is a notoriously
inefficient use of researchers' time, with each person having to reinvent the wheel
by implementing tedious low-level operations. It also limits researchers to
studying relatively isolated problems and prevents them from building on each
other's work, because there is not enough time to combine or re-implement
the different algorithms into a complex system. Although there exist several computer
vision libraries that attempt to solve this problem, in our opinion none
of them meets the
criteria of being easy to use, efficient, and extensive. For more details, see the 'Overview' page.
- Where does the name Blepo come from?
Blepo (βλεπω) is the Greek word meaning, "to see," which is an apt description of the goal of computer vision.
It is pronounced with a short 'e' and a long 'o', rhyming with "step toe".
- What is the license?
Blepo is released under the GNU General Public License (GPL), the same license used by GNU/Linux. Basically
this means that you are free to use and modify the library all you want, but you may not distribute any work based on your changes
without also sharing the source code for those changes. This, of course, is not meant to be taken as the
official, legal definition, which can be found here.
- In what language is Blepo written?
Blepo is primarily written in C/C++, with some of the low-level routines being
written in assembly language to take advantage of the significant speedup
available using SIMD
processing (in particular, MMX/SSE/SSE2). In the future, we hope to provide an
interface to the library from higher-level languages (scripting languages, Matlab, etc.)
to facilitate rapid prototyping of algorithms.
- On what platforms is Blepo supported?
Blepo is currently being developed using the Microsoft Visual C++ 6.0 compiler running on Windows.
The code is being written with portability in mind, and we expect to support other compilers and operating systems in the future,
but the near-term goal is first to build a clean, stable, useful library on a single platform.
We have successfully compiled Blepo on Visual Studio 2005, but it requires manually changing some project settings. See the
comments on version 0.6.4 on the history page.
- What is the current status of Blepo?
A pre-alpha version of Blepo is available. The library contains basic image classes, along with routines for loading/storing image
files, capturing images from cameras, and displaying images on the screen. Some basic image processing functions and linear algebra
functions are also available. The functions described in the Reference Manual have generally been tested, are stable, and have
interfaces that are unlikely to change significantly. Any functions inside the code
that are not captured in the manual, as well as the code organization itself, are
subject to major revisions.