购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 任务1:图像读取、显示和保存

1.2.1 任务描述

基于龙芯平台,利用OpenCV实现读取图像、显示图像与保存图像的功能。

1.2.2 技术准备

图像的读取、显示与保存是工程应用和学术研究中的基础操作,OpenCV提供用于完成这些基础操作的API函数,它们分别为imread()、imshow()、imwrite()和waitKey()。利用OpenCV实现图像的读取与显示的主要流程为引入OpenCV→读取图像→显示图像→等待用户输入。

OpenCV的imread()函数用于将文件中的图像读入内存,支持多种静态图像格式,如BMP、PNG、JPEG和TIFF等。imread()函数的完整格式如下。

img=cv2.imread(filename, flag)

其中,filename为文件名,flag为图像读取格式标志。若imread()函数正确读取图像,返回表示图像的NumPy数组;否则,返回NULL。

OpenCV的imshow(winname,mat)函数用于在指定的窗口中显示图像。若窗口已存在,图像直接显示在该窗口中;否则,新建一个名为winname的窗口,并显示mat参数对应的图像。

OpenCV的imwrite()函数用于将NumPy数组中保存的图像写入文件。

waitKey()函数的功能是等待用户输入。该函数的基本格式如下。

rv=cv2.waitKey([delay])

参数说明如下。

rv:保存函数返回值。如果没有按某个键,返回−1;否则,返回所按键的对应ASCII值。

delay:等待按键的时间(单位为ms)。若delay为负数或0,表示无限等待,其默认值为0;若设置了delay参数,等待指定时间后,waitKey()函数返回−1。

1.2.3 任务实施

以下是使用OpenCV接口实现图像的读取、显示与保存的代码。

import cv2
# 使用imread()函数读取图片。0表示灰度图,1表示彩色图,16表示缩放后的灰度图,17表示缩放后的彩色图
img = cv2.imread("./test.jpg", 1)
# 显示
# cv2.imshow("imshowtest", img)
# 保存
cv2.imwrite("test1.jpg", img)
cv2.waitKey(0)

运行结果如图1-1所示。

▲图1-1 运行结果 lHCkWHP/2QqXXsrppEymsfCGbnE+M8BXNRcJwtBh4gmG0W667AJU+KqBqiVEzNid

点击中间区域
呼出菜单
上一章
目录
下一章
×