在计算机视觉领域,OpenCV(Open Source Computer Vision Library)凭借其开源、高效和功能丰富的特点,几乎成为了业界标准。无论是图像处理、视频分析,还是机器学习与深度学习,OpenCV 都能提供强大的支持。本文将为初学者呈现一份从环境搭建到基础demo的完整入门指南。
推荐使用 Anaconda 或者标准的 venv
。
创建并激活环境:
conda create -n opencv_env python=3.8 -y
conda activate opencv_env
安装带 contrib
扩展模块的版本:
pip install opencv-contrib-python
import cv2
print("OpenCV 版本:", cv2.__version__)
# 预期输出:4.x.x
读取图像(BGR 格式)
img = cv2.imread('path/to/image.jpg')
if img is None:
raise FileNotFoundError("请检查图像路径是否正确!")
显示图像
cv2.imshow('Demo Image', img)
cv2.waitKey(0) # 按任意键退出
cv2.destroyAllWindows()
cv2.imread()
读取图像cv2.imshow()
创建窗口并展示cv2.waitKey()
等待键盘输入cv2.destroyAllWindows()
关闭所有窗口小贴士:Windows 环境下若出现无法显示窗口,可尝试
cv2.waitKey(1)
并确保脚本未被 IDE 拦截。
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # BGR → 灰度
cv2.imshow('Gray Image', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 均值滤波
blur = cv2.blur(img, (5, 5))
# 高斯模糊
gblur = cv2.GaussianBlur(img, (7, 7), sigmaX=1.5)
edges = cv2.Canny(gray, threshold1=50, threshold2=150)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 在原图上画一个蓝色矩形
cv2.rectangle(img, (50, 50), (200, 200), (255, 0, 0), thickness=2)
# 在图像上写文字
cv2.putText(img, 'OpenCV', (50, 300),
fontFace=cv2.FONT_HERSHEY_SIMPLEX,
fontScale=1.0, color=(0, 255, 0), thickness=2)
cv2.imshow('Draw', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cap = cv2.VideoCapture(0) # 参数 0 表示默认摄像头
if not cap.isOpened():
raise RuntimeError("无法打开摄像头!")
while True:
ret, frame = cap.read()
if not ret:
break
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Live Gray', gray_frame)
# 按 'q' 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
提示:
cv2.VideoCapture
支持视频文件路径,也可用于读取本地视频。
进阶:结合多线程可提高视频流处理效率。
ml
模块进行分类与回归;欢迎关注我的 CSDN 账号,留言交流,共同进步!
如果本文对你有帮助,别忘了点赞、收藏并分享给更多小伙伴~