Computer Vision Tools for programmers
For application developers, especially mobile app developers, finding the correct vision library is not an easy task. A usual to-go is OpenCV library, a comprehensive and robust computer vision library that can run on most platforms, including Linux, Windows, Mac OS, Android, and iOS. OpenCV is a SwissTool for computer vision. It includes an army of widely-used computer vision algorithms for simple tasks such as color conversion to complicated processing such as face recognition. However, as a SwissTool, OpenCV can be slow for a lot of computer vision tasks. Particularly, for mobile devices, OpenCV has too much footprint to satisfy the real-time latency requirements. Besides, it may also contain the particular algorithm you want.
Here I put together a list of OpenCV alternatives that can facilitate building you computer vision applications.
| Library | CPU | GPU Support | Mobile Oriented | Comments |
|---|---|---|---|---|
| OpenCV | yes | no | cuda api, limited functions | |
| dlib | yes | no | no | |
| openVX | yes | no | yes | |
| openGL | no | yes | ||
| GPUImage | no | yes | ||
| Accelerated CV | ||||
| Armadillo |