opencv基础:几个常用窗口方法

开始说了一些opencv中的一些常用方法。

namedWindow方法

在OpenCV中,namedWindow函数用于创建一个窗口,并给它指定一个名字。这个函数的基本语法如下:

import  cv2cv2.namedWindow('窗口名称', '标识' )
  • 窗口名称:其实窗口名称,其实也是这个窗口的id,方便对其进行操作。

  • 标识,这个其实有一个默认值WINDOW_AUTOSIZE,用于设置窗口的各种属性。当然其还有很多值:

在这里插入图片描述

  • cv2.WINDOW_NORMAL : 窗口可改变大小,也是常用的一个窗口。

  • cv2.WINDOW_FULLSCREEN: 窗口是全屏显示。

  • cv2.WINDOW_OPENGL: 打开OpenGL绘图

但是如果如下写:

import  cv2cv2.namedWindow('窗口', cv2.WINDOW_NORMAL  )

窗口只会一闪而逝,所以一般不会单独时候,后面会有一个整体例子。

resizeWindow 方法

这个方法,可以设置创建好的窗口,具体呈现的大小。

cv2.resizeWindow('窗口名称', 宽(直接数值),高(直接数值))

窗口名称必须存在namedWindow方法创建的窗口名字中。

来一个例子:

import  cv2
# cv2.namedWindow('窗口名称', cv2.WINDOW_NORMAL  )
cv2.resizeWindow('窗口名称', 1920, 1080)

在这里插入图片描述

imshow 方法

其实前面两个就算是创建好好窗口,窗口也是一瞬就消失需要一个将这个窗口持续呈现,是所以就有个这个方法。

cv2.imshow('窗口名称', img)
  • 窗口名称:窗口的名称,是一个字符串。在调用cv2.imshow后,这个窗口会显示对应的图像。
  • img:要显示的图像,通常是一个NumPy数组。这个数组的维度是二维的,第一个维度表示图像的高度,第二个维度表示宽度。此外,数组的元素应该是8位无符号整数类型,因为OpenCV默认以BGR方式解释图像。可以是cv2.imread() 读取的图片返回值
import  cv2cv2.namedWindow('窗口名称', cv2.WINDOW_NORMAL  )
cv2.resizeWindow('窗口名称', 1920, 1080)
# 这个地方的0代表的是灰度模式
cv2.imshow('窗口名称', 0)

但是这样的,窗口还是会一闪即逝,还需要其它方法。

waitKey 方法

cv2.waitKey(delay=0)
  • delay:表示在函数返回之前等待用户输入的毫秒数。如果参数为0,则会一直等待用户输入;如果参数大于0,则会在指定的时间后自动返回,而不管用户是否输入。

这个函数返回一个整数,表示用户输入的字符的ASCII码。如果用户按下回车键(ASCII码为10),则函数返回13。

import  cv2cv2.namedWindow('窗口名称', cv2.WINDOW_NORMAL  )
cv2.resizeWindow('窗口名称', 1920, 1080)
# 这个地方的0代表的是灰度模式
cv2.imshow('窗口名称', 0)
# 0 代表一直等到 数值的话,其单位毫秒
key = cv2.waitKey(0)

在这里插入图片描述

destroyAllWindows和destroyWindow 方法

这个看名字就知道了就是销毁窗口。

  • destroyAllWindows:销毁所有的窗口
  • destroyWindow :销毁某个的窗口
    cv2.destroyAllWindows()cv2.destroyWindow("窗口名称")

现在来一个整体的例子:

import  cv2
cv2.namedWindow('窗口名称', cv2.WINDOW_NORMAL  )
cv2.resizeWindow('窗口名称', 1920, 1080)
# 这个地方的0代表的是灰度模式
cv2.imshow('窗口名称', 0)
# 0 代表一直等到 数值的话,其单位毫秒
key = cv2.waitKey(0)
if(key == 'q'):# 这个是销毁所有窗口# cv2.destroyAllWindows()# 这个是销毁指定窗口cv2.destroyWindow("窗口名称")

imread 方法

imread() 用于读取图像文件并将其加载到内存中。它接受一个参数,即要读取的图像文件的路径,并返回一个 NumPy 数组,其中包含图像的像素数据。

cv2.imread(filename[, flags])
  • filename 是要读取的图像文件的路径。
  • flags是一个可选参数,用于指定读取图像的方式。它可以是以下值之一:
    • cv2.IMREAD_COLOR:以彩色方式读取图像(默认值)。
    • cv2.IMREAD_GRAYSCALE:以灰度方式读取图像。
    • cv2.IMREAD_UNCHANGED:以原始格式读取图像(包括 alpha 通道)。
import  cv2
cv2.namedWindow('阴风阵阵', cv2.WINDOW_NORMAL )
cv2.resizeWindow('阴风阵阵', 1092, 514)
img=cv2.imread('1.jpg')
cv2.imshow('阴风阵阵', img)
# 0 代表一直等到 数值的话,其单位毫秒
key = cv2.waitKey(0)
if(key == 'q'):# 这个是销毁所有窗口# cv2.destroyAllWindows()# 这个是销毁指定窗口cv2.destroyWindow("阴风阵阵")

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/41443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure创建自定义VM镜像

创建一个虚拟机,参考 https://blog.csdn.net/m0_48468018/article/details/132267096,入站端口开启80,22 进行远程远程连接 使用CLI命令部署NGINX,输入如下命令 sudo su apt-get update -y apt-get install nginx git -y最后的效果 4. 关闭…

非结构化数据库-MinIO基本集成

是什么 MinIO 是一个高性能的分布式对象存储服务,适合存储非结构化数据,如图片,音频,视频,日志等。对象文件最大可以达到5TB。 安装启动 mkdir -p /usr/local/minio cd /usr/local/minio# 下载安装包 wget https:/…

lvs-dr模式

一,数据包流向: 1,cilent向目标vip发出请求,dir接收,此时ip报头数据帧头信息。 2,dir根据负载均衡算法给rs(rip),将rip所在网卡的mac地址作为目标的mac地址,发…

vscode如何汉化

首先我们到vscode官网下载 链接如下: Visual Studio Code - Code Editing. Redefined 根据自己需要的版本下载就好 下载并且安装完毕之后 运行vscode 然后按快捷键 CTRLSHIFTX 打开安装扩展界面 搜索简体中文 安装就可以了 谢谢大家观看

Vue3 —— watchEffect 高级侦听器

该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 前言 Vue3 中新增了一种特殊的监听器 watchEffect&#xff0c;它的类型是&#xff1a; function watchEffect(effect: (onCleanup: OnCleanup) > void,o…

整理mongodb文档:find方法查询数据

个人博客 整理mongodb文档:find方法查询数据 求关注&#xff0c;求批评&#xff0c;求指出&#xff0c;如果哪儿不清晰&#xff0c;请指出来&#xff0c;谢谢 文章概叙 如题&#xff0c;本文讲的是如何用find查询数据&#xff0c;如何在数组、字段、对象中查询&#xff0c;以…

自然语言处理技术:NLP句法解析树与可视化方法

自然语言处理(Natural Language Processing,NLP)句法解析树是一种表示自然语言句子结构的图形化方式。它帮助将句子中的每个词汇和短语按照语法规则连接起来,形成一个树状结构,以便更好地理解句子的语法结构和含义。句法解析树对于理解句子的句法关系、依存关系以及语义角…

从入门到精通Python隧道代理的使用与优化

哈喽&#xff0c;Python爬虫小伙伴们&#xff01;今天我们来聊聊如何从入门到精通地使用和优化Python隧道代理&#xff0c;让我们的爬虫程序更加稳定、高效&#xff01;今天我们将对使用和优化进行一个简单的梳理&#xff0c;并且会提供相应的代码示例。 1. 什么是隧道代理&…

SpringCloud Gateway:status: 503 error: Service Unavailable

使用SpringCloud Gateway路由请求时&#xff0c;出现如下错误 yml配置如下&#xff1a; 可能的一种原因是&#xff1a;yml配置了gateway.discovery.locator.enabledtrue&#xff0c;此时gateway会使用负载均衡模式路由请求&#xff0c;但是SpringCloud Alibaba删除了Ribbon的…

无涯教程-Perl - setpwent函数

描述 此功能将枚举设置(或重置)到密码条目集的开头。应该在第一次调用getpwent之前调用此函数。 语法 以下是此函数的简单语法- setpwent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perlwhile(($name, $passwd, $uid, $gid, $quota, …

C++写文件,直接写入结构体

C写文件&#xff0c;直接写入结构体 以前写文件都是写入字符串或者二进制再或者就是一些配置文件&#xff0c;今天介绍一下直接写入结构体&#xff0c;可以在软件参数较多的时候直接进行读写&#xff0c;直接将整个结构体写入和读取&#xff0c;看代码&#xff1a; #include&…

tomcat中的BIO与NIO发展

tomcat中的NIO发展 前言 Tomcat目前支持BIO&#xff08;阻塞 I/O&#xff09;、NIO&#xff08;非阻塞 I/O&#xff09;、AIO&#xff08;异步非阻塞式IO&#xff0c;NIO的升级版&#xff09;、APR&#xff08;Apache可移植运行库&#xff09;模型&#xff0c;本文主要介绍NI…

设计模式——适配器模式

引入实例 说起适配器其实在我们的生活中是非常常见的&#xff0c;比如&#xff1a;学校的宿舍的电压都比较低&#xff0c;而有的学生想使用大功率电器&#xff0c;宿舍的就会跳闸&#xff0c;然而如果你使用一个适配器&#xff08;变压器&#xff09;就可以使用了&#xff08;…

深入理解linux内核--块设备驱动程序

块设备的处理 块设备驱动程序上的每个操作都涉及很多内核组件&#xff1b;其中最重要的一些如图14-1所示。 例如&#xff0c;我们假设一个进程在某个磁盘文件上发出一个read()系统调用 ——我们将会看到处理write请求本质上采用同样的方式。 下面是内核对进程请求给予回应的一…

煤矿调度IP语音对讲广播模块一键求助对讲矿用调度通信系统SIP语音对讲求助终端

硬件接口描述 SV-2101VP/ SV-2103VP系列网络音频模块&#xff0c;所有外部连接采用端子&#xff0c;电源采用2.0mm的端子&#xff0c;网络采用标准RJ45连接器&#xff0c;其他都是1.25mm的连接器。 端口类型定义 P ———— 电源 AI ———— 模拟输入&#xff08;在这里是音…

微信小程序前后端开发快速入门(完结篇)

这篇是微信小程序前后端快速入门完结篇了&#xff0c;今天利用之前学习过的所有知识做一个新的项目「群登记助手v1.0」小程序。 整体技术架构&#xff1a;小程序原生前端小程序云开发。 经历了前面教程的学习&#xff0c;大家有了一定的基础&#xff0c;所以本次分享重心主要是…

Ubuntu服务器service版本初始化

下载 下载路径 官网&#xff1a;https://cn.ubuntu.com/ 下载路径&#xff1a;https://cn.ubuntu.com/download 服务器&#xff1a;https://cn.ubuntu.com/download/server/step1 点击下载&#xff08;22.04.3&#xff09;&#xff1a;https://cn.ubuntu.com/download/server…

【jwt】JWT原理,JWT是用来解决什么问题的,如何自定义生成JWT数据,并且实现jwt数据的解码

JWT&#xff1a; JSON Web Token 1. jwt概述 用户登录成功后&#xff0c;服务端 如何知道客户端的每次请求对应的是哪个用户呢&#xff1f;怎么做&#xff1a;目前有两种方式实现. 1.1. 一是通过sessionId的方式&#xff0c;登录成功后服务端返回sessionId给客户端&#xff0…

【数据结构】栈与队列

1 栈 1.1 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出 LIFO (Last In First Out) 的原则。 压栈&#xff1a;栈…

JupyterHub实战应用

一、JupyerHub jupyter notebook 是一个非常有用的工具&#xff0c;我们可以在浏览器中任意编辑调试我们的python代码&#xff0c;并且支持markdown 语法&#xff0c;可以说是科研利器。但是这种情况适合个人使用&#xff0c;也就是jupyter notebook以我们自己的主机作为服务器…