# OpenCV — Open-Source Computer Vision Library > The most widely used computer vision library with 2500+ optimized algorithms for image and video analysis, object detection, face recognition, and real-time processing across C++, Python, Java, and more. ## Install Save as a script file and run: # OpenCV — Open-Source Computer Vision Library ## Quick Use ```bash pip install opencv-python python -c "import cv2; img = cv2.imread('image.jpg'); print(img.shape)" ``` ## Introduction OpenCV (Open Source Computer Vision Library) is a BSD-licensed library with over 2500 optimized algorithms for computer vision and machine learning. Originally developed by Intel in 1999, it has become the standard toolkit for real-time image and video processing across academia and industry. ## What OpenCV Does - Provides real-time image and video capture, processing, and analysis - Offers object detection, face recognition, and tracking algorithms - Supports camera calibration, 3D reconstruction, and stereo vision - Includes deep learning inference via its DNN module for ONNX, TensorFlow, and PyTorch models - Enables feature detection, optical flow, and image stitching ## Architecture Overview OpenCV is written in C++ with bindings for Python, Java, and JavaScript (via OpenCV.js). The core modules handle matrix operations through the cv::Mat data structure. Hardware acceleration uses OpenCL for GPU compute and SIMD instructions for CPU optimization. The DNN module loads pretrained models from multiple frameworks without requiring their runtimes. ## Self-Hosting & Configuration - Install via pip: `pip install opencv-python` or `opencv-contrib-python` for extra modules - Build from source with CMake for custom module selection and GPU support - Enable CUDA backend by setting `-D WITH_CUDA=ON` during CMake configuration - Use `cv2.VideoCapture(0)` to access local cameras or RTSP streams - Configure build flags for FFmpeg, GStreamer, or V4L2 video backend support ## Key Features - Cross-platform: runs on Linux, macOS, Windows, iOS, and Android - DNN module supports inference from ONNX, TensorFlow, Caffe, and Darknet models - Real-time performance with optimized C++ core and hardware acceleration - Extensive image processing: filters, morphology, color spaces, histograms - Active community with 25+ years of development and broad ecosystem integration ## Comparison with Similar Tools - **scikit-image** — Pure Python, better for prototyping but slower for real-time tasks - **Pillow** — Simpler image I/O and manipulation but lacks computer vision algorithms - **MediaPipe** — Focused on ML-based perception pipelines rather than classical CV - **SimpleCV** — Higher-level API wrapping OpenCV but less maintained - **Kornia** — Differentiable CV on PyTorch tensors for training pipelines ## FAQ **Q: Does OpenCV require a GPU?** A: No. OpenCV runs on CPU by default. GPU acceleration via CUDA or OpenCL is optional and requires building from source with the appropriate flags. **Q: What is the difference between opencv-python and opencv-contrib-python?** A: The contrib package includes extra modules like SIFT, SURF, ArUco markers, and additional deep learning layers not in the main package. **Q: Can OpenCV run deep learning models?** A: Yes. The DNN module loads ONNX, TensorFlow, Caffe, and Darknet models for inference without needing the original framework installed. **Q: Is OpenCV suitable for production use?** A: Yes. OpenCV is used in production at thousands of companies for real-time video analytics, robotics, autonomous vehicles, and medical imaging. ## Sources - https://github.com/opencv/opencv - https://docs.opencv.org/ --- Source: https://tokrepo.com/en/workflows/96185804-3c91-11f1-9bc6-00163e2b0d79 Author: Script Depot