OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。本文将介绍如何使用OpenCV进行实时图像处理。
实时图像处理基本流程
- 捕获视频流:使用OpenCV的
cv2.VideoCapture
类来捕获视频流。 - 预处理图像:对捕获的图像进行预处理,如灰度化、滤波等。
- 图像处理算法:应用图像处理算法,如边缘检测、特征提取等。
- 显示结果:将处理后的图像显示在窗口中。
示例代码
以下是一个简单的实时图像处理示例:
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