OpenCV was designed to be cross-platform. So, the library was written in C and this makes OpenCV portable to almost any commercial system, from PowerPC Macs to robotic dogs. Since version 2.0, OpenCV includes its traditional C interface as well as the new C++ one. For the most part, new OpenCV algorithms are now developed in C++. Also wrappers for languages such as Python and Java have been developed to encourage adoption by a wider audience. OpenCV runs on both desktop (Windows, Linux, Android, MacOS, FreeBSD, OpenBSD) and mobile (Android, Maemo, iOS).
In 2010 a new module that provides GPU acceleration was added to OpenCV. The GPU module covers a significant part of the library’s functionality and is still in active development. It is implemented using CUDA and therefore benefits from the CUDA ecosystem, including libraries such as NPP (NVIDIA Performance Primitives). With the addition of GPU acceleration to OpenCV, developers can run more accurate and sophisticated OpenCV algorithms in real-time on higher-resolution images while consuming less power.
Since 2010 OpenCV was ported to the Android environment, it allows to use the full power of the library in the development of mobile applications.
Now OpenCV development team is actively working on adding extended support for iOS. Full integration will be available until the end of the year. You can check the current status here.