OpenCV-加载和保存图片

OpenCV中有很方便的加载保存图片的函数,这里总结一下,通过本小节你可以学到下面三个函数:

  1. cv.imread(),加载图片;
  2. cv.imshow(),显示图片;
  3. cv.imwriter(),保存图片;

首先准备一张图片,命名为“my_love.jpg”

01

cv.imread()

使用cv.imread()函数加载图片非常简单,只需要指定对应的图片路径即可,此时需要注意的是cv.imread()函数返回的是ndarray数组类型,即通过ndarray数组表示的像素点。

输出结果:

<class 'numpy.ndarray'>

通过图片文件路径加载图片将图片转换为ndarray数组,此时我们就可以通过获取ndarray数组属性来得到图片信息。下面构造获取图片信息的函数:

完整的代码:

输出结果:

<class 'numpy.ndarray'>图像类型: <class 'numpy.ndarray'>图像长*宽*通道数: (640, 640, 3)图像长宽通道数相乘所得值,所有像素点个数: 1228800图像像素值类型: uint8

02

cv.imshow()

上一小节介绍了cv.imread()将指定路径中的图片文件加载,OpenCV将图片转换成了ndarray数组,其中数组中的每一个元素都表示图片中的一个像素点,有时候我们需要将加载进来的图片(此时是ndarray数组)显示出来。

但是当你执行这段代码的时候,屏幕会一闪而过,此时我们需要使用waitKey函数,注意此时waitKey函数在图像和视频中应用含义是不一样的,下面先以图像角度来介绍waitKey函数,后面介绍视频读写的时候在介绍在视频中应用waitKey函数的含义。具体的函数定义如下:

delay延迟的意思,delay是一个整数类型,既然是整数类型,无非就是:

  1. >0,表示图像显示多长时间,单位为ms,过了delay数个ms后,窗口自动关闭;
  2. <0,表示只有键盘输入才能结束窗口,否则不会关闭窗口;
  3. =0,表示只有键盘输入才能结束窗口,否则不会关闭窗口;

其实还是很简单的,注意waitKey函数还有返回值。从上面可以看出,delay分成两种情况:

  1. >0,此时的返回值必为-1;
  2. ≤ 0,此时返回值为输入键盘对应的值,在电脑中每一个键盘都会对应着一个值,比如"Esc"对应着数字27。因此当我们delay设置为 ≤0 的时候,按下"Esc"键,waitKey()将返回整数27。

显示效果:

当按下"Esc"的时候,控制台会打印27。

03

cv.imwrite()

使用cv.imwrite()函数保存处理后的图片,和加载图片一样简单。我们直接使用即可,为了效果明显,这里使用cv.cvtColor()函数,你可以简单理解成对图像做颜色上的变换,第一参数为ndarray数组图片,第二个参数就是指定图片做何种变换,里面还有其他的一些属性可以尝试。

打开beauty.jpg图片:

接下来做一个简单的总结:

本文分享自微信公众号 - AI机器学习与深度学习算法(AI-KangChen),作者:Chenkc

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 正太分布的入门总结

    正态分布式是应用最为广泛的一种连续型分布。正态分布在十九世纪前叶由高斯加以推广,所以通常称为高斯分布。

    触摸壹缕阳光
  • 机器学习入门 9-8 OvR与OvO

    本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍能够将二分类算法解决多分类任务的两种方法OvR和OvO,并通过sklearn封装的逻辑回归实现Ov...

    触摸壹缕阳光
  • OpenCV-加载和保存视频

    OpenCV不仅能够很方便的加载和保存图片,而且对于视频的加载与保存也可以很简单的通过OpenCV中的函数轻松实现。本篇主要介绍如何加载保存视频。

    触摸壹缕阳光
  • 查看 mon 的详细状态

    [root@node1 ~]# ceph daemon mon.node1 mon_status {

    院长技术
  • Hacking Team 病毒测试环境分析

    0x00 前言 安恒研究团队在Hacking Team泄露的文件中除了发现大量的后门、木马等攻击的源码,还发现了两个用于病毒安全性测试的源代码,分别是test...

    安恒信息
  • P2285 [HNOI2004]打鼹鼠

    题目描述 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某...

    attack
  • 慧科集团承办江西省产教融合高峰论坛,不能错过的产教融合秘笈!

    2018年12月8日,由慧科集团承办的产教融合高峰论坛在南昌成功举行,这也是继慧科集团连续5次成功承办教育部产学合作协同育人项目对接会之后,将此对接会下沉至地方...

    VRPinea
  • 通过电子邮件营销增强你的电商业务

    想要提高跨境电商销售额,但不知道下一次应该将营销预算投入到哪? 你需要了解的是:64%的公司认为跨境电商中电子邮件营销是最有效的营销渠道。 即使有许多新的营销渠...

    臭豆腐
  • 利用PHP给Z-Blog文章内的所有站外a链接添加nofollow

    但是如果每次都手动添加会很麻烦。我之前写过关于一篇用 JavaScript 批量添加 nofollow 的文章:

    德顺
  • 我真的太想当明星了!

    ? 青春有你 创造营2020 偶像练习生 …… 随着选秀节目的热播 站在聚光灯下成为了许多人的梦想 与此同时,另一群人正在虎视眈眈地注视着他们 一场“造梦骗...

    用户6966869

扫码关注云+社区

领取腾讯云代金券