Frequently Asked Questions (FAQ)

  1. 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.

  2. 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".

  3. 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.

  4. 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.

  5. 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.

  6. 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.