本文目标:
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 以 8位 BGR 格式加载图像。本例使用的默认值就是它。
● 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。