【OpenCV 入门到精通 02】环境安装与第一个程序:5 分钟跑通 Hello OpenCV
2026/9/7 10:40:02 网站建设 项目流程

【OpenCV 入门到精通 02】环境安装与第一个程序:5 分钟跑通 Hello OpenCV

标签OpenCV安装opencv-pythonpipcondaHello World
难度:⭐ 入门 |阅读时长:约 45 分钟 |系列:第 02/12 集
前置:01 认识 OpenCV |下一集:03 图像入门


写在前面

工欲善其事,必先利其器。本集帮你在 Windows / Linux / macOS 上完成 OpenCV-Python 安装,并运行第一个程序——在窗口中显示一张图片。


本集学习目标

  • 通过 pip/conda 安装 opencv-python
  • 理解 opencv-python 与 opencv-contrib-python 的区别
  • 运行 Hello OpenCV 验证环境
  • 了解常见安装问题及解决方案

文章目录

  • 【OpenCV 入门到精通 02】环境安装与第一个程序:5 分钟跑通 Hello OpenCV
    • 写在前面
    • 本集学习目标
    • 2.1 系统要求
    • 2.2 pip 安装(推荐)
      • 同时安装 NumPy(通常自动安装)
    • 2.3 conda 安装
    • 2.4 opencv-python vs opencv-contrib-python
      • contrib 额外提供的算法
    • 2.5 Hello OpenCV
      • 第一个程序
      • 读取并显示真实图片
      • 代码解剖
    • 2.6 完整验证脚本
    • 2.7 踩坑指南
      • 中文路径读取方案
    • 2.8 常见问题 FAQ
    • 2.9 本集小结

2.1 系统要求

组件最低推荐
Python3.6+3.10 / 3.11
内存4 GB8 GB+
系统Win7+ / Ubuntu16+ / macOS10+最新稳定版

2.2 pip 安装(推荐)

# 标准版(覆盖 90% 学习需求)pipinstallopencv-python# 国内镜像加速pipinstallopencv-python-ihttps://pypi.tuna.tsinghua.edu.cn/simple# 锁定版本(生产环境)pipinstallopencv-python==4.9.0.80

同时安装 NumPy(通常自动安装)

pipinstallnumpy opencv-python

2.3 conda 安装

conda create-nopencvpython=3.11-yconda activate opencv condainstall-cconda-forge opencv# 或pipinstallopencv-python

2.4 opencv-python vs opencv-contrib-python

包名内容适用
opencv-python核心模块学习、一般项目
opencv-contrib-python核心 + 扩展模块需要 SIFT/SURF 等专利算法

⚠️两者不可同时安装,后者会覆盖前者。

contrib 额外提供的算法

算法模块
SIFTfeatures2d
SURFfeatures2d
FASTfeatures2d
背景减除高级算法bgsegm
# 需要 SIFT 等扩展算法时pip uninstall opencv-python pipinstallopencv-contrib-python

2.5 Hello OpenCV

第一个程序

importcv2importnumpyasnp# 创建 300×500 的蓝色画布 (BGR)img=np.zeros((300,500,3),dtype=np.uint8)img[:]=(255,128,0)# 蓝色# 写文字cv2.putText(img,"Hello OpenCV!",(80,160),cv2.FONT_HERSHEY_SIMPLEX,1.2,(255,255,255),2)# 显示cv2.imshow("Hello OpenCV",img)print("按任意键关闭窗口...")cv2.waitKey(0)cv2.destroyAllWindows()

读取并显示真实图片

importcv2 img=cv2.imread("test.jpg")ifimgisNone:print("图片读取失败,请检查路径")else:print(f"图片尺寸:{img.shape}")cv2.imshow("Image",img)cv2.waitKey(0)cv2.destroyAllWindows()

代码解剖

函数作用
cv2.imread()读取图片 → NumPy 数组
cv2.imshow()在窗口显示
cv2.waitKey(0)等待按键(0=无限等待)
cv2.destroyAllWindows()关闭所有窗口

2.6 完整验证脚本

"""OpenCV 环境验证脚本"""importsysdefcheck():print("="*50)print("OpenCV 环境验证")print("="*50)# 1. OpenCVtry:importcv2print(f"✅ OpenCV{cv2.__version__}")exceptImportError:print("❌ 未安装 → pip install opencv-python")returnFalse# 2. NumPytry:importnumpyasnpprint(f"✅ NumPy{np.__version__}")exceptImportError:print("❌ 未安装 → pip install numpy")returnFalse# 3. 创建测试图try:img=np.zeros((100,200,3),dtype=np.uint8)img[:]=(0,255,0)assertimg.shape==(100,200,3)print("✅ 图像创建正常")exceptExceptionase:print(f"❌ 图像操作失败:{e}")returnFalse# 4. 编解码try:ok,buf=cv2.imencode(".png",img)decoded=cv2.imdecode(buf,cv2.IMREAD_COLOR)assertdecodedisnotNoneprint("✅ 图像编解码正常")exceptExceptionase:print(f"❌ 编解码失败:{e}")returnFalse# 5. GUI(无头环境可能跳过)try:cv2.imshow("_test",img)cv2.waitKey(1)cv2.destroyAllWindows()print("✅ GUI 窗口正常")exceptException:print("⚠️ GUI 不可用(服务器/无头环境正常)")print("="*50)print("🎉 环境验证通过!")returnTrueif__name__=="__main__":sys.exit(0ifcheck()else1)

2.7 踩坑指南

问题原因解决
cv2.imshow无窗口无 GUI 环境服务器用cv2.imwrite保存
ImportError: cv2未安装pip install opencv-python
两个包装冲突同时装了 python 和 contrib卸载后只装一个
imread返回 None路径错误或中文路径检查路径;用np.fromfile读中文路径
pip 安装慢默认源慢加清华镜像
ARM 架构安装失败无预编译包从源码编译或用 conda

中文路径读取方案

importcv2importnumpyasnpdefimread_chinese(path):"""解决 OpenCV 无法读取中文路径的问题"""returncv2.imdecode(np.fromfile(path,dtype=np.uint8),cv2.IMREAD_COLOR)img=imread_chinese("测试图片/风景.jpg")

2.8 常见问题 FAQ

Q1:opencv-python-headless 是什么?
A:无 GUI 版本,适合 Docker/服务器部署,不含imshow等窗口功能。

Q2:需要单独装 OpenCV C++ 吗?
A:不需要。pip install opencv-python已包含编译好的二进制。

Q3:OpenCV 4.9 和 4.1 教程兼容吗?
A:核心 API 兼容,个别函数参数有微调,本系列以 4.x 通用写法为准。


2.9 本集小结

安装检查清单

  • pip install opencv-python成功
  • import cv2无报错
  • Hello OpenCV 程序能弹窗显示
  • 验证脚本通过

← 第01集第03集:图像入门 →

参考:1_2 在Windows中安装OpenCV-Python

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询