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

相关推荐
范男2 分钟前
基于Pytochvideo训练自己的的视频分类模型
人工智能·pytorch·python·深度学习·计算机视觉·3d·视频
二向箔reverse9 分钟前
机器学习算法核心总结
人工智能·算法·机器学习
dundunmm32 分钟前
【论文阅读】SIMBA: single-cell embedding along with features(2)
论文阅读·人工智能·embedding·生物信息·单细胞·多组学·细胞类型识别
金井PRATHAMA1 小时前
意象框架:连接感知与认知的统一信息结构分析——基于上古汉语同源词意义系统的词源学与认知语言学探索
人工智能·自然语言处理
聚客AI1 小时前
🧠深度解析模型压缩革命:减枝、量化、知识蒸馏
人工智能·深度学习·llm
SHIPKING3931 小时前
【机器学习&深度学习】Ollama、vLLM、LMDeploy对比:选择适合你的 LLM 推理框架
人工智能·深度学习·机器学习
zzywxc7871 小时前
AI 行业应用:金融、医疗、教育、制造业领域的落地案例与技术实现
android·前端·人工智能·chrome·金融·rxjava
新智元2 小时前
刚刚,GPT-5 Pro 自证全新数学定理!OpenAI 总裁直呼颠覆,大佬们集体转发
人工智能·openai
新智元2 小时前
28 岁华人执掌 1.85 万亿科技巨头 AI 大权!一觉醒来,图灵奖得主也要向他汇报
人工智能·openai
居然JuRan2 小时前
从LoRA到QLoRA再到全量微调
人工智能