Computer vision is an area of computer science based on developing and improving systems that allow machines to perceive visual input and to act in specific ways based on that input. A computer vision library is a collection of programs, function, code and documentation relating to programming computer-vision-related functions. The aim of a computer vision library is to provide a repository for knowledge in that area so those who are working on computer vision do not need to re-do work that has already been done. Access to some computer vision libraries may be restricted to researchers in a particular company or laboratory, because they may contain information that could benefit competitors. Others are publicly available to benefit the field of computer vision as a whole.
The development and use of a computer vision library, open or proprietary, can be greatly advantageous to those working on computer vision projects. A computer vision library tends to contain the best and most efficient code already developed for a given process, so developers can use that code instead of spending time programming that function again. Additionally, many computer vision programs and systems are built on similar foundations, so computer vision libraries allow people to build from an already-developed foundation, potentially cutting down substantially on the amount of work required for a given project.
Providing a common foundation of code in the form of a computer vision library also is advantageous because it encourages different programmers to use much of the same code. As such, particular programs and applications can often be transferred easily from project to project. It is unnecessary to completely rewrite the whole framework on which a computer vision system is based, because the code is probably present in the computer vision library.
The most universal benefit of a computer vision library, the advancement of the field as a whole, is largely restricted to publicly accessible computer vision libraries. Each finding in the field of computer vision that is added to the library adds to the knowledge and the tools available to everyone else in the field. Libraries restricted to specific companies or organizations, on the other hand, tend only to benefit the organization that operates the library.
Computer vision includes a broad range of areas of study. A computer vision library may contain information relating to subjects as diverse as motion tracking and terrain navigation. They also may contain other information relating to artificial intelligence and machine learning, because such topics are often highly relevant to computer vision projects.