暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OpenCV-Python - OpenCV 中的 Gui 功能 - 图像入门

数据库杂货铺 2022-01-09
961

本文目标:

1. 读取图片文件

2. OpenCV窗口中显示图片

3. 将图片写入文件

 

import cv2 as cv
import sys


img = cv.imread("result.png")
if img is None:
sys.exit("无法读取图片.")


cv.imshow("myimage:", img)
k = cv.waitKey(0)


if k == ord("s"):
cv.imwrite("result20220107.png", img)


 

第一步,导入 OpenCV python 库。正确的方法是给它分配一个名称 cv,下面将使用它来引用这个库。

import cv2 as cv
import sys

  

现在分析主代码。第一步,我们读取图像 “result.png”。调用 cv.imread 函数,可以使用第一个参数指定的文件路径来加载图像。第二个参数是可选的,它指定图像的格式。这可能是:

 

● IMREAD_COLOR 8BGR 格式加载图像。本例使用的默认值就是它。

 

● IMREAD_UNCHANGED 按原样加载图像(如果存在,也包括 alpha 通道)

 

● IMREAD_GRAYSCALE 以灰度图像方式加载图像

 

读取后的图像数据将存储在 cv::Mat 对象中。

 

img = cv.imread("result.png")

 

之后,如果图像加载正确,则执行检查。

 

if img is None:
sys.exit("无法读取图片.")

 

然后,通过调用 cv.imshow 函数显示图像。第一个参数是窗口的标题,第二个参数是将显示的 cv::Mat 对象。

 

因为我们希望窗口在用户按下某个键之前一直显示(否则程序结束得太快),所以我们使用 cv.waitKey 函数,该函数的唯一参数是它应该等待用户输入多长时间(以毫秒为单位)。零意味着一直等待。返回值是按下的键。

cv.imshow("myimage:", img)
k = cv.waitKey(0)

  

最后,如果按下的键是 “s” 键,则图像将写入文件。为此,将调用 cv.imwrite 函数,该函数将文件路径和 cv::Mat 对象作为参数。

 

if k == ord("s"):
cv.imwrite("result20220107.png", img)


 

 

 

 

 

官方文档:

https://docs.opencv.org/4.x/db/deb/tutorial_display_image.html


文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论