OpenCV - 图像的IO操作

目录

[1. 读取图像 - cv.imread()](#1. 读取图像 - cv.imread())

[2. 显示图像 - cv.imshow()](#2. 显示图像 - cv.imshow())

[3. 保存图像 - imwrite()](#3. 保存图像 - imwrite())

[4. 总结](#4. 总结)


1. 读取图像 - cv.imread()

在OpenCV图像处理中,**API指的是OpenCV库提供的应用程序接口,**本质是一系列封装好的函数、类或方法,专门用于调用OpenCV的图像处理的能力,无需开发者手动编写底层算法。简单来说,这些API就是OpenCV给开发者的"工具按钮"。

读取图像要使用的API为:

python 复制代码
cv.imread('图片路径', 标志)

参数1:要读取图像的路径

**•**参数2:读取方式的标志

  1. cv.IMREAD_COLOR 或 1:以彩色模式加载图像,任何图像的透明度都将被忽略,这里默认参数

  2. cv.IMREAD_GRAYSCALE 或 0:以灰度模式加载图像

  3. cv.IMREAD_UNCHANGED 或 -1:按原样读取,包括alpha通道的加载图像模式

可以使用1、0、-1来分别代表上面三个标志

参考代码:

python 复制代码
import numpy as np
import cv2 as cv
# 以灰度形式读取图像
img_gray = cv.imread('test1.jpg', 0)
# 以彩色模式读取
img_color = cv.imread('test1.jpg', 1)

注意:如果加载的路径有错误,不会报错,会返回一个None值

2. 显示图像 - cv.imshow()

这个函数会创建一个窗口,并在里面显示图片矩阵

显示图像要使用的API为:

python 复制代码
cv.imshow('窗口名称', 图像矩阵)

参数1:显示图像的窗口名称,以字符串类型表示

参数2:要加载的图像

注意:在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应情况,并且图像无法显示出来。

参考代码:

python 复制代码
#opencv中显示
cv.imshow('image', img)
cv.waitKey(0)
cv.destroyAllWindows()

1. cv2.waitKey(0) :这是一个键盘绑定函数,非常重要!

参数 0 表示程序会无期限等待用户的按键操作

如果你写成 cv2.waitKey(5000),则表示等待5秒(5000毫秒)后自动关闭窗口。

2. cv2.destroyAllWindows():销毁我们创建的所有窗口。这是一个好的编程习惯,用来清理内存。

为什么必须要有waitKey

因为没有它,窗口会一闪而过,你根本来不及看。waitKey让程序暂停,等你按下任意键后再继续执行后面的销毁命令。

3. 保存图像 - imwrite()

这个函数将处理后的图像矩阵(NumPy数组)保存成一个图片文件。

保存图像要使用的API为:

python 复制代码
cv.imwrite('保存的文件名', 图像矩阵)

参数1:文件名要保存在哪里,OpenCV会根据你指定的扩展名(如.jpg, .png)来决定保存的格式。

参数1:要保存的图像,你要保存的那个图像变量(比如我们刚才读进来的img,或者处理过的灰度图img_gray)。

python 复制代码
cv.imwrite('test1.png', img)

4. 总结

python 复制代码
import numpy as np
import cv2 as cv
 
# 1. 读取图像
img = cv.inread('test1.jpg', 0)
 
# 2. 显示图像
cv.imshow('image', img)
cv.waitKey(0)

# 3. 保存图像
cv.imwrite('test2.png', img)

# 最后关闭所有窗口
cv.destroyAllWindows()
相关推荐
美狐美颜sdk21 小时前
Android直播美颜SDK:选择指南与开发方案
android·人工智能·计算机视觉·第三方美颜sdk·视频美颜sdk·人脸美型sdk
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章7-膨胀
图像处理·人工智能·opencv·算法·计算机视觉
努力犯错1 天前
LTX-2 进阶 Prompt 技巧:从入门到专业视频创作
人工智能·数码相机·机器学习·计算机视觉·开源·prompt·音视频
杜子不疼.1 天前
计算机视觉热门模型手册:Spring Boot 3.2 自动装配新机制:@AutoConfiguration 使用指南
人工智能·spring boot·计算机视觉
格林威1 天前
传送带上运动模糊图像复原:提升动态成像清晰度的 6 个核心方案,附 OpenCV+Halcon 实战代码!
人工智能·opencv·机器学习·计算机视觉·ai·halcon·工业相机
棒棒的皮皮1 天前
【深度学习】YOLO模型速度优化Checklist
人工智能·深度学习·yolo·计算机视觉
JQLvopkk2 天前
智能AI“学习功能”在程序开发部分的逻辑
人工智能·机器学习·计算机视觉
狗狗学不会2 天前
视觉检测的新范式:从“像素感知”到“时序语义推理”—— 基于 Qwen3-VL 与时序拼图策略的通用事件检测系统
人工智能·计算机视觉·视觉检测
scott1985122 天前
DIFIX3D+: Improving 3D Reconstructions with Single-Step Diffusion Models
人工智能·计算机视觉·扩散模型·生成式
Julyers2 天前
【Paper】FRST(快速径向对称变换)算法
图像处理·人工智能·计算机视觉·圆检测