OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。本文将介绍如何使用OpenCV进行实时图像处理。

实时图像处理基本流程

  1. 捕获视频流:使用OpenCV的cv2.VideoCapture类来捕获视频流。
  2. 预处理图像:对捕获的图像进行预处理,如灰度化、滤波等。
  3. 图像处理算法:应用图像处理算法,如边缘检测、特征提取等。
  4. 显示结果:将处理后的图像显示在窗口中。

示例代码

以下是一个简单的实时图像处理示例:

import cv2

# 创建视频捕获对象
cap = cv2.VideoCapture(0)

while True:
    # 读取一帧
    ret, frame = cap.read()
    
    if not ret:
        break
    
    # 预处理图像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    blur = cv2.GaussianBlur(gray, (5, 5), 0)
    
    # 边缘检测
    edges = cv2.Canny(blur, 50, 150)
    
    # 显示结果
    cv2.imshow('Edges', edges)
    
    # 按 'q' 退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放视频捕获对象
cap.release()
cv2.destroyAllWindows()

扩展阅读

Edge Detection