In this article we list a number of useful tools and Software development kits (SDKs) which are popular among the researchers and developers in the field of Image processing and Computer vision.
- The Visualization Toolkit (VTK) is an open-source, software system for 3D computer graphics, image processing and visualization. freely available. VTK is a C++ class library and several interpreted interface layers ilike Tcl/Tk, Java, and Python. VTK supports a lot algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. VTK has an extensive information visualization framework, has a suite of 3D interaction widgets, supports parallel processing, and integrates with various databases on GUI toolkits such as Qt and Tk. VTK runs on Linux, Windows, Mac and Unix platforms.
- The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation. These algorithms can be used, for example, to filter outliers from noisy data, stitch 3D point clouds together, segment relevant parts of a scene, extract keypoints and compute descriptors to recognize objects in the world based on their geometric appearance, and create surfaces from point clouds and visualize them -- to name a few.PCL is free for commercial and research use. PCL has been successfully compiled and deployed on Linux, MacOS, Windows, and Android/iOS.
- The Open Source Computer Vision Library (OpenCV) is s an open source computer vision and machine learning software library. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms. These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 7 million. The library is used extensively in companies, research groups and by governmental bodies. It has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS. OpenCV leans mostly towards real-time vision applications and takes advantage of MMX and SSE instructions when available. A full-featured CUDA and OpenCL interfaces are being actively developed right now. There are over 500 algorithms and about 10 times as many functions that compose or support those algorithms. OpenCV is written natively in C++ and has a templated interface that works seamlessly with STL containers.** For online applications there is a project called "javacv" which is a Java interface to OpenCV and more.
- Open CASCADE Technologyis a software development platform freely available in open source. It includes C++ components for 3D surface and solid modeling, visualization, data exchange and rapid application development. Open CASCADE Technology can be best applied in development of specialized CAD/CAM/CAE applications. The typical applications built with help of OCCT are pre- and post-processors for finite element analysis software, CNC/CMM path generators, numerical simulation programs, etc.
- Coin3Dis an OpenGL-based, 3D graphics library that has its roots in the Open Inventor 2.1 API, which Coin still is compatible with. Open Inventor is a scene-graph based, retain-mode, rendering and model manipulation, C++ class library, originally designed by SGI. Coin is based on the API of this library, but was developed from scratch independently before SGI Open Inventor became open source. It does not share any code with SGI Open Inventor, other than through random coincidences guided by the Open Inventor API design. Coin reached the goal of Open Inventor 2.1 compatibility in the autumn of the year 2000, and has since then been extended with a huge set of additional features, ranging from 3D sound support to GLSL shader support, additional file formats like VRML97, and a large number of internal changes for keeping up with the newer, more optimized OpenGL rendering techniques that were not available in the earlier days.
- Tech Soft 3Dis a tool to help software teams deliver successful applications. It began with this simple mission and a single hard-working 3D graphics engine: HOOPS. Made in the Ithaca Labs, spun off from Autodesk, and modernized by Tech Soft 3D, today HOOPS powers over 500 applications around the globe.Nearly 20 years later, HOOPS now represents a whole suite of powerful, portable tools that keep partners competitive: from lightning-fast data access and native 3D PDF Publishing, to 3D data viewing, inspection and sharing on the cloud.
- cvBlob is a library for computer vision to detect connected regions in binary digital images. cvBlob performs connected component analysis (also known as labeling) and features extraction. It is a powerful tool for binary image labeling and features extraction and render: blob orientation, centroid, contours, color, etc. Also it is used for contours functions , basic blob tracking and its interface is similar to OpenCV.
- SAL3Dis a PC-based software library whose independent tools are specially suited for laser triangulation and Cloud of Points processing. AQSENSE offers full 3D machine vision libraries to obtain complete, true, 3D calibrated data for ultra-fast shape and measurements for in-line inspection on manufacturing line.
- MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes.The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes.The system is heavily based on the VCG library developed at the Visual Computing Lab of ISTI - CNR, for all the core mesh processing tasks and it is available for Windows, MacOSX, and Linux. The MeshLab system started in late 2005 as a part of the FGT course of the Computer Science department of University of Pisa and most of the code (~15k lines) of the first versions was written by a handful of willing students. The following years FGT students have continued to work to this project implementing more and more features.
- Cognex's 3D machine vision tool delivers accurate, real-time 3D position information to improve vision performance in a wide range of applications where 2D tools alone are not enough. The 3D tool works with any number of fixed or robot mounted cameras for complete application flexibility. It is not just any 3D machine vision—it’s Cognex 3D!Cognex's 3D tool delivers accurate, real-time, three-dimensional position information to automate challenging assembly verification, logistics, and robot applications in automotive and precision manufacturing industries, including: Racking/de-racking, de-palletizing kitting and assembly verification.
- openMVG: open Multiple View Geometry is a library for computer-vision scientists and especially targeted to the Multiple View Geometry community. It is designed to provide an easy access to the classical problem solvers in Multiple View Geometry and solve them accurately. The openMVG credo is: "Keep it simple, keep it maintainable". OpenMVG targets readable code that is easy to use and modify by the community. All the features and modules are unit tested. This test driven development ensures that the code works as it should and enables more consistent repeatability. Furthermore, it makes it easier for the user to understand and learn the given features.
- OpenCL is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software.
- CVonline is a resource for computer vision, machine vision, image analysis and some visual psychophysics and visual neurophysiology. The main elements are: a hierarchical index of topics with links into Wikipedia, a set of non-Wikipedia content, including image and video databases for algorithm evaluation, public datasets, free software, a list of image analysis applications, a list of subject area books including free to read books, And a set of other resources useful to the educational community.
- Adaptive Vision Studio2 is a dataflow-based visual programming environment designed for machine vision engineers. It is highly interactive and scalable – with a couple of filters the user can accomplish a typical industrial application, yet there are systems in the field running hundreds of tools, composed of many modules and armed with automated tests based on thousands of images.
- Halide is a new programming language designed to make it easier to write high-performance image processing code on modern machines. Its current front end is embedded in C++. Compiler targets include x86/SSE, ARM v7/NEON, CUDA, Native Client, and OpenCL.
- DIP (lib & image): DIPimage is a MATLAB toolbox for scientific image processing and analysis. DIPlib is a platform independent scientific image processing library written in C
Comments
Post a Comment