【OpenCV学习笔记02】- 图像入门

2024-01-09

内容

  • 这里介绍了图像处理的入门操作,,你将学习如何读取图像,如何显示图像以及如何将其保存回去
  • 你将学习以下功能:cv.imread(),cv.imshow(),cv.imwrite()

简单使用OpenCV

读取图像

使用 cv.imread ()函数读取图像。图像应该在工作目录或图像的完整路径应给出。

第二个参数是一个标志,它指定了读取图像的方式。

  • cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
  • cv.IMREAD_GRAYSCALE:以灰度模式加载图像
  • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道

注意 除了这三个标志,你可以分别简单地传递整数1、0或-1。

示例代码:

import numpy as np
import cv2 as cv

#加载彩色灰度图像
img = cv.imread('messi5.jpg'0)

注意: 即使图像路径错误,它也不会引发任何错误,但是print img会给出None

显示图像

使用函数 cv.imshow() 在窗口中显示图像。窗口自动适合图像尺寸。

第一个参数是窗口名称,它是一个字符串。第二个参数是我们的对象。你可以根据需要创建任意多个窗口,但可以使用不同的窗口名称。

cv.imshow('image',img)
cv.waitKey(0)
cv.destroyAllWindows()

注意: 如果两个图像名称一样,后面的图像会覆盖前面的图像。

cv.waitKey(): 是一个键盘绑定函数。其参数是以毫秒为单位的时间。该函数等待任何键盘事件指定的毫秒。如果您在这段时间内按下任何键,程序将继续运行。如果 0 被传递,它将无限期地等待一次敲击键。它也可以设置为检测特定的按键,例如,如果按下键 a 等,我们将在下面讨论。
注意 除了键盘绑定事件外,此功能还处理许多其他GUI事件,因此你必须使用它来实际显示图像。
cv.destroyAllWindows(): 只会破坏我们创建的所有窗口。
cv.destroyWindow(): 要销毁任何特定的窗口,在其中传递确切的窗口名称作为参数。

注意 在特殊情况下,你可以创建一个空窗口,然后再将图像加载到该窗口。在这种情况下,你可以指定窗口是否可调整大小。
这是通过功能 cv.namedWindow ()完成的。
默认情况下,该标志为 cv.WINDOW_AUTOSIZE
但是,如果将标志指定为 cv.WINDOW_NORMAL ,则可以调整窗口大小。

当图像尺寸过大以及向窗口添加跟踪栏时,这将很有帮助。

示例代码:

cv.namedWindow('image',cv.WINDOW_NORMAL)
cv.imshow('image',img)
cv.waitKey(0)
cv.destroyAllWindows()

写入图像

使用函数 cv.imwrite ()保存图像。

第一个参数是文件名,第二个参数是要保存的图像。
示例代码:

cv.imwrite('messigray.png',img)

这会将图像以PNG格式保存在工作目录中。

完整使用

在下面的程序中,以灰度加载图像,显示图像,按s保存图像并退出,或者按ESC键直接退出而不保存。
示例代码:

import numpy as np
import cv2 as cv

img = cv.imread('messi5.jpg',0)
cv.imshow('image',img)
k = cv.waitKey(0)
if k == 27:         # 等待ESC退出
    cv.destroyAllWindows()
elif k == ord('s'): # 等待关键字,保存和退出
    cv.imwrite('messigray.png',img)
    cv.destroyAllWindows()

注意:
如果使用的是64位计算机,则必须k = cv.waitKey(0)
按如下所示修改行:

k = cv.waitKey(0) & 0xFF
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【OpenCV学习笔记02】- 图像入门 的相关文章

随机推荐

  • 半导体洁净车间洁净区装修要点

    随着科技的飞速发展 半导体行业作为电子产业的核心领域 其生产环境的洁净度要求越来越高 半导体洁净车间的装修设计不仅关乎产品的质量和性能 还直接影响到生产效率和成本控制 因此 S ICOLAB喜格 在洁净区装修过程中 必须遵循一系列严格的要点
  • 如何用GPT给论文降重

    大家好 今天来聊聊如何用GPT给论文降重 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 可以借助此类工具 如何用GPT给论文降重 一 引言 随着人工智能技术的不断发展 GPT等自然语言处理模型在论文降重领域
  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • Commander One for Mac:强大的双窗格文件管理器,让你的工作效率倍增!

    Commander One for Mac是一款功能强大的文件管理工具 具有以下主要功能 双窗格设计 主界面分为两个窗格 用户可以在左侧窗格中导航和浏览文件系统的目录结构 在右侧窗格中查看文件和文件夹的内容 文件操作 用户可以通过简单的点击
  • 鉴源论坛 · 观模丨浅谈Web渗透之信息收集(下)

    作者 林海文 上海控安可信软件创新研究院汽车网络安全组 版块 鉴源论坛 观模 社群 添加微信号 TICPShanghai 加入 上海控安51fusa安全社区 信息收集在渗透测试过程中是最重要的一环 浅谈web渗透之信息收集 将通过上下两篇
  • python大作业有哪些题目,500行代码python大作业

    大家好 本文将围绕python大作业有哪些题目展开说明 500行代码python大作业是一个很多人都想弄明白的事情 想搞清楚python大作业100行代码需要先了解以下几个事情 Source code download 本文相关源码 完整项
  • 真的干不过,00后整顿职场已经给我卷麻了,想离职了...

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 【C++之单例模式】

    C 之单例模式 前言 介绍 1 单例模式是什么 1 1 实现单例模式的三个要点 1 2 单例模式分类 2 懒汉式 2 1 懒汉实现
  • 智能数据分析系统:揭秘最强AI助力企业腾飞的秘密武器

    现代企业离不开数据 而数据的分析与应用更是成为企业走向成功的关键之一 然而 随着数据量的不断增长 传统的数据分析方法已经无法满足企业的需求 这时 智能数据分析系统应运而生 成为企业决策的得力助手 那么 智能数据分析系统究竟是如何帮助企业实现
  • C++设计模式 --1.工厂模式和单例模式

    文章目录 1 工厂模式 简单工厂模式 工厂方法模式 抽象工厂模式 2 单例模式 懒汉式 饿汉式 1 工厂模式 简单工厂模式
  • 考HCIE要多久 | HCIE学员经验分享

    大家好 我是讯方 智汇云校的学员林同学 来自深圳信息职业技术学院的一名22届的通信专业的学生 通过近半年在云校的学习 我在年底成功考取了云服务方向的HCIE证书 想把我的一些考证心得分享给正在备考的小伙伴们 刚开始了解到ICT行业是在学校的
  • jenkins+selenium+python实现web自动化测试

    jenkins selenium可以做到对web自动化的持续集成 Jenkins的基本操作 一 新建视图及job 新建视图 新建job 可以选择构建一个自由风格的软件项目或者复制已有的item 二 准备工作 安装Jenkins插件 SSH
  • python:提取列表的切片

    说明 假设列表是a 提取a的切片可以使用a start stop step 的形式 其中start表示开始元素的索引 包含在内 stop表示终止元素的索引 不包含在内 step表示在指定范围内每隔多少个元素提取1个 默认值为1 示例 指定开
  • 期货和期权哪个风险更大?有哪些相同和不同的地方?

    期货和期权这两个都是高风险 高收益的投资工具是两个相同的部分 而期货呢是保证金交易理论上亏损是无限的 而期权呢买入期权的话最大亏损也就是权利金 这个是两者的最大区别 下文科普期货和期权哪个风险更大 有哪些相同和不同的地方 本文来自 期权酱
  • 期权开户最低多少钱个人可以开?

    大家新年好 现在2024年龙年 很多想玩期权的小伙伴都知道期权开通需要50万的门槛 那么今天来给大家详细介绍下期权开户最低多少钱个人可以开 本文将对期权开户最低金额进行探讨 帮助投资者更好地了解期权交易的投资门槛 本文来自 期权酱 一 期权
  • 请问大家有没有软考中项的考试技巧?

    备考是可以结合教学视频一起 高效好用 学起来的话 不会显得枯燥无味 系统集成项目管理工程师难度真的是能接受的那种 对于刚经历软考的来说 说直话软考 系统集成 的难度不大 每年的通过率还是挺高的 自学的小伙伴也是蛮多的 是很多软考小白的首选之
  • 回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n

    1 先上结论 中文 英文 英文缩写 ASC 转义 ASC 值 系统 回车 Carriage Return CR r 13 MacIntosh 早期的Mac
  • 个体工商户年报申报流程(不要再花冤枉钱)

    个体工商户年报申报网址 https www gsxt gov cn index html 个体工商户年报一般在1月1日至6月30日报 根据相关法律规定 个体工商户应当于每年1月1日至6月30日 通过企业信用信息公示系统或者直接向负责其登记的
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • 【OpenCV学习笔记02】- 图像入门

    内容 这里介绍了图像处理的入门操作 你将学习如何读取图像 如何显示图像以及如何将其保存回去 你将学习以下功能 cv imread cv imshow cv imwrite 简单使用OpenCV 读取图像 使用 cv imread 函数读取图