前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >opencv(4.5.3)-python(二)--图像入门

opencv(4.5.3)-python(二)--图像入门

作者头像
用户9875047
发布2022-07-04 14:15:14
3700
发布2022-07-04 14:15:14
举报
文章被收录于专栏:机器视觉全栈er

1.1 图像入门

原作者:Ana Huamán

翻译及校对:cvtutorials.com

目标

在本教程中,你将学习:

  • • 从文件中读取图像。
  • • 在OpenCV窗口中显示一个图像
  • • 将图像写入文件。

源代码

代码语言:javascript
复制
import cv2 as cv
import sys
img = cv.imread(cv.samples.findFile("starry_night.jpg"))
if img is None:
    sys.exit("Could not read the image.")
cv.imshow("Display window", img)
k = cv.waitKey(0)
if k == ord("s"):
    cv.imwrite("starry_night.png", img)

解释

作为第一步,OpenCV的python库被导入。正确的做法是另外给它起一个名字cv,在下面的内容中,它被用来引用这个库。

代码语言:javascript
复制
import cv2 as cv
import sys

现在,让我们来分析一下代码。作为第一步,我们从OpenCV样本中读取图像 "starry_night.jpg"。为了做到这一点,我们调用了imread函数,使用第一个参数指定的文件路径来加载图像。第二个参数是可选的,它指定了我们想要的图像的格式。这可能是:

  • • IMREAD_COLOR以BGR 8位格式加载图像。这是这里使用的默认值。
  • • IMREAD_UNCHANGED 载入原始图像(包括alpha通道,如果存在的话)。
  • • IMREAD_GRAYSCALE 载入图像灰度图。

在读入图像后,数据将被存储在一个Mat对象中。

代码语言:javascript
复制
img = cv.imread(cv.samples.findFile("starry_night.jpg"))

之后,将执行检查,以确定图像是否被正确加载。

代码语言:javascript
复制
if img is None:
    sys.exit("Could not read the image.")

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

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

代码语言:javascript
复制
cv.imshow("Display window", img)
k = cv.waitKey(0)

最后,如果按的是 "s "键,图像将被写入一个文件中。为此调用了imwrite函数,它有文件路径和Mat对象作为参数。

代码语言:javascript
复制
if k == ord("s"):
    cv.imwrite("starry_night.png", img)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉全栈er 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 图像入门
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档