In-depth OpenCV


OpenCV is an open-source computer vision library. The library was developed using C and C++ programming, which runs on three operating systems, namely Linux, Windows, and Mac OS X.

OpenCV (Open Computer Vision) is an API (Application Programming Interface) library that is very familiar with computer vision image processing. Computer vision itself is a branch of the field of image processing that allows computers to see like humans. With this vision, the computer can make decisions, take actions, and recognize objects. Several implementations of computer vision are face recognition, face detection, face/object tracking, road tracking, etc. OpenCV is designed for real-time applications and has good acquisition functions for images and video.
OpenCV itself consists of 5 libraries, namely:
  • CV: for Image Processing and Vision Algorithms
  • ML: for machine learning libraries
  • HighGUI: for GUI, image, and video I/O.
  • CXCORE: for data structures, support XML and graphical functions.
  • CVAux
OpenCV structure and content:


Features owned by OpenCV include:
  1. Image data manipulation (allocation, copying, setting, conversion)
  2. Image and Video I/O (file and camera-based input, image and video file output)
  3. Manipulation of matrices and vectors along with linear algebra (pproducts, solvers, eigen values, SVD)
  4. Dynamic data structures (lists, queues, sets, trees, and graphs)
  5. Fundamental image processing (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations, histograms, image pyramids)
  6. Structural analysis (connected components, contour processing, distance transform, various moments, template matching, Hough transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).
  7. Camera calibration (calibration patterns, fundamental matrix estimation, homography estimation, stereo correspondence)
  8. Motion Analysis (optical flow, segmentation, and tracking)
  9. Object recognition
  10. Graphical User Interface (image/video display, keyboard and mouse handling, scroll bars)
  11. Image labeling (line, conic, polygon, text drawing)
  12. Graphic functions



Comments

Popular Posts