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 的基本功能有所了解。

相关推荐
子燕若水1 小时前
Unreal Engine 5中的AI知识
人工智能
极限实验室2 小时前
Coco AI 实战(一):Coco Server Linux 平台部署
人工智能
杨过过儿2 小时前
【学习笔记】4.1 什么是 LLM
人工智能
巴伦是只猫2 小时前
【机器学习笔记Ⅰ】13 正则化代价函数
人工智能·笔记·机器学习
大千AI助手3 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
AI生存日记3 小时前
百度文心大模型 4.5 系列全面开源 英特尔同步支持端侧部署
人工智能·百度·开源·open ai大模型
LCG元3 小时前
自动驾驶感知模块的多模态数据融合:时序同步与空间对齐的框架解析
人工智能·机器学习·自动驾驶
why技术3 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
彭祥.4 小时前
Jetson边缘计算主板:Ubuntu 环境配置 CUDA 与 cudNN 推理环境 + OpenCV 与 C++ 进行目标分类
c++·opencv·分类