# Python 使用 OpenCV 入门指南 🖼️📸

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛用于图像处理、视频分析、人脸识别等领域 🧠。它支持多种编程语言,其中对 Python 的接口最为友好且功能齐全 💡。

在这篇文章中,我们将介绍如何使用 Python 和 OpenCV 进行基本的图像处理操作,包括读取、显示、保存图像,以及常见的图像变换方法 ✅。

目录 📋

安装 OpenCV 💾

你可以使用 pip 快速安装 OpenCV:

pip install opencv-python

如果你需要额外模块(如 SIFT、SURF 等高级算法),请安装完整版本:

pip install opencv-contrib-python

验证是否安装成功:

import cv2
print(cv2.__version__)

读取与显示图像 📷

OpenCV 支持多种图像格式,以下是最基础的图像读取与显示方式:

读取图像

import cv2

img = cv2.imread('example.jpg')  # 读取图像
cv2.imshow('Image', img)         # 显示图像窗口
cv2.waitKey(0)                   # 等待按键
cv2.destroyAllWindows()          # 关闭所有窗口

⚠️ 如果路径错误或文件不存在,不会报错,但返回 None。

保存图像

cv2.imwrite('output.jpg', img)

图像基本操作 🎨

获取图像属性

print('尺寸:', img.shape)       # 输出 (height, width, channels)
print('数据类型:', img.dtype)   # 输出 uint8 等
print('像素总数:', img.size)    # height * width * channels

裁剪图像

cropped_img = img[100:300, 200:400]  # 裁剪区域
cv2.imshow('Cropped', cropped_img)
cv2.waitKey(0)

绘制几何图形

OpenCV 支持在图像上绘制各种图形:

画线

cv2.line(img, (0, 0), (255, 255), (255, 0, 0), 5)

画圆

cv2.circle(img, (100, 100), 50, (0, 255, 0), 3)

画矩形

cv2.rectangle(img, (50, 50), (200, 200), (0, 0, 255), 2)

颜色空间转换 🌈

OpenCV 默认读取图像为 BGR 格式,常需转换为 RGB 或灰度图:

转换为灰度图

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray', gray)
cv2.waitKey(0)

转换为 HSV 颜色空间

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imshow('HSV', hsv)
cv2.waitKey(0)

边缘检测与滤波 🔍

OpenCV 提供了丰富的图像处理工具,例如边缘检测和滤波器。

Canny 边缘检测

edges = cv2.Canny(gray, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey(0)

高斯模糊

blurred = cv2.GaussianBlur(img, (5, 5), 0)
cv2.imshow('Blurred', blurred)
cv2.waitKey(0)

图像阈值化

_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
cv2.imshow('Threshold', thresh)
cv2.waitKey(0)

总结 ✅

OpenCV 是一个功能强大且易于使用的图像处理工具包 🧰,结合 Python 可以快速实现图像识别、增强、变换等任务 🚀。

本文介绍了 OpenCV 的基本安装步骤、图像读写、常见操作和图像处理技巧。如果你正在学习计算机视觉或者图像识别方向,OpenCV 是一个非常好的起点!

如果你希望我继续写进阶内容(如人脸检测、目标追踪、视频处理等),欢迎留言告诉我 😊。

posted @ 2025-07-08 20:21  灵火  阅读(297)  评论(0)    收藏  举报