OpenCV-Python基础教程

OpenCV (Open Source Computer Vision Library) 是一个非常强大的计算机视觉库,广泛应用于图像处理、视频分析等领域。本教程将介绍如何使用 OpenCV-Python 进行基本的图像处理操作,包括读取和显示图像、基本图像操作(如调整大小、旋转)以及简单的图像滤波技术。

安装 OpenCV-Python

首先确保你的环境中已经安装了 Python。然后在命令行中运行以下命令来安装 OpenCV-Python:

复制代码

Bash

深色版本

1pip install opencv-python

如果你还需要使用一些额外的功能,比如图形界面显示,可以安装 opencv-python-headlessopencv-contrib-python:

复制代码

Bash

深色版本

1pip install opencv-python-headless
2pip install opencv-contrib-python

创建一个新的 Python 脚本

  1. 在你的项目文件夹中创建一个新的 Python 文件,例如 image_processing.py

  2. 编写代码来定义你的图像处理任务。下面是一个简单的示例:

复制代码

Python

深色版本

1# image_processing.py
2
3import cv2
4import numpy as np
5
6def main():
7    # 读取图像
8    image_path = "path/to/your/image.jpg"
9    img = cv2.imread(image_path)
10
11    if img is None:
12        print("Image not found.")
13        return
14
15    # 显示原始图像
16    cv2.imshow("Original Image", img)
17    cv2.waitKey(0)
18    cv2.destroyAllWindows()
19
20    # 图像调整大小
21    resized_img = cv2.resize(img, (640, 480))
22    cv2.imshow("Resized Image", resized_img)
23    cv2.waitKey(0)
24    cv2.destroyAllWindows()
25
26    # 图像旋转
27    height, width = img.shape[:2]
28    center = (width // 2, height // 2)
29    rotation_matrix = cv2.getRotationMatrix2D(center, 45, 1.0)
30    rotated_img = cv2.warpAffine(img, rotation_matrix, (width, height))
31    cv2.imshow("Rotated Image", rotated_img)
32    cv2.waitKey(0)
33    cv2.destroyAllWindows()
34
35    # 灰度转换
36    gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
37    cv2.imshow("Gray Image", gray_img)
38    cv2.waitKey(0)
39    cv2.destroyAllWindows()
40
41    # 高斯模糊
42    blurred_img = cv2.GaussianBlur(img, (9, 9), 0)
43    cv2.imshow("Blurred Image", blurred_img)
44    cv2.waitKey(0)
45    cv2.destroyAllWindows()
46
47    # 边缘检测
48    edges = cv2.Canny(img, 100, 200)
49    cv2.imshow("Edges", edges)
50    cv2.waitKey(0)
51    cv2.destroyAllWindows()
52
53if __name__ == "__main__":
54    main()

运行脚本

确保你有一个图像文件放在指定的位置,并且文件路径正确无误。然后,在命令行中运行以下命令来执行脚本:

复制代码

Bash

深色版本

1python image_processing.py

这将打开一系列窗口,每个窗口展示不同的图像处理结果。

代码解释

  1. 导入库 :我们使用 cv2numpy
  2. 读取图像 :使用 cv2.imread 函数读取图像文件。
  3. 显示图像 :使用 cv2.imshow 显示图像,使用 cv2.waitKey(0) 等待用户按键,使用 cv2.destroyAllWindows() 关闭所有打开的窗口。
  4. 图像调整大小 :使用 cv2.resize 函数调整图像大小。
  5. 图像旋转 :使用 cv2.getRotationMatrix2Dcv2.warpAffine 函数来旋转图像。
  6. 灰度转换 :使用 cv2.cvtColor 将彩色图像转换为灰度图像。
  7. 高斯模糊 :使用 cv2.GaussianBlur 对图像进行高斯模糊处理。
  8. 边缘检测 :使用 cv2.Canny 进行边缘检测。

这个简单的示例应该能让你对 OpenCV-Python 的基本功能有所了解。

相关推荐
果冻人工智能18 分钟前
2025 年将颠覆商业的 8 大 AI 应用场景
人工智能·ai员工
代码不行的搬运工19 分钟前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
石小石Orz21 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
孤独且没人爱的纸鹤30 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭33 分钟前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~34 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码41 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
zhangfeng113341 分钟前
pytorch 的交叉熵函数,多分类,二分类
人工智能·pytorch·分类
Seeklike42 分钟前
11.22 深度学习-pytorch自动微分
人工智能·pytorch·深度学习
庞传奇43 分钟前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow