OpenCV

作者admin

9月 9, 2025

OpenCV 全称 Open Source Computer Vision Library,是一个跨平台的 计算机视觉和图像处理开源库。

最初由 Intel 于 1999 年发起,后来由 Willow Garage 和 Itseez 维护,现在由 OpenCV.org 社区管理。

支持 C++、Python、Java、MATLAB 等多种语言接口,兼容 Windows / Linux / macOS / Android / iOS 等平台。

OpenCV 的主要功能

OpenCV 提供了大量的图像处理和计算机视觉算法,大致分为以下几类:

图像处理

  • 图像读取、保存、显示 (cv2.imread, cv2.imwrite, cv2.imshow)
  • 几何变换(缩放、旋转、仿射、透视变换)
  • 滤波(高斯滤波、均值滤波、边缘检测等)
  • 颜色空间转换(RGB ↔ 灰度 ↔ HSV 等)

特征提取与匹配

  • 边缘检测(Canny)
  • 特征点检测(SIFT、SURF、ORB 等)
  • 图像配准、拼接

视频处理

  • 视频捕获与解码(支持 RTSP、MP4、摄像头等输入)
  • 帧级处理(逐帧分析、保存图片)
  • 背景建模、运动检测

目标检测与识别

  • Haar / LBP 分类器(早期人脸检测)
  • 深度学习接口(DNN 模块,可加载 TensorFlow、Caffe、ONNX 模型)

机器学习模块

  • 包含 SVM、KNN、决策树、随机森林等传统算法(但现在更常用深度学习框架)。

3D 视觉

  • 立体匹配、三维重建
  • 相机标定与姿态估计

OpenCV 的常见应用

  • 人脸识别(门禁、考勤系统)
  • 视频监控与安防(运动检测、车牌识别)
  • 机器视觉(工业检测、缺陷检测)
  • AR/VR(物体跟踪、姿态估计)
  • 智能交通(车流量统计、车道检测)
  • 医学图像处理(细胞计数、X 光图像分析)

Python 示例

import cv2

# 读取图像
img = cv2.imread(“test.jpg”)

# 转灰度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 边缘检测
edges = cv2.Canny(gray, 100, 200)

# 显示结果
cv2.imshow(“Original”, img)
cv2.imshow(“Gray”, gray)
cv2.imshow(“Edges”, edges)

cv2.waitKey(0)
cv2.destroyAllWindows()

👉 这段代码会把一张图片显示为 原图、灰度图、边缘检测图。

cv2 就是 OpenCV 的 Python 接口包名。

作者 admin

百度广告效果展示