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("阴风阵阵")

相关文章:
opencv基础:几个常用窗口方法
开始说了一些opencv中的一些常用方法。 namedWindow方法 在OpenCV中,namedWindow函数用于创建一个窗口,并给它指定一个名字。这个函数的基本语法如下: import cv2cv2.namedWindow(窗口名称, 标识 )窗口名称:其实窗口名称&…...
web后端解决跨域问题
目录 什么是跨域问题 为什么限制访问 解决 什么是跨域问题 域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。但是一般情况下不能这么做,它是由浏览器的同源策略造成的,是浏览器对js施加的安全…...
06 json数据解析和列表控件
内容回顾 json数据解析 json ----- 对要传输的数据进行封装的工具 json是由json数组([]) 和 json对象({})在qt中,对JSON数据进行处理(解析和打包) JSON数据处理所要包含的类: QJsonDocument -----它的作用是将数据转换成json文档 QJsonArray ---- json数组,就是封装多个…...
分布式 - 消息队列Kafka:Kafka生产者架构和配置参数
文章目录 1. kafka 生产者发送消息整体架构2. Kafka 生产者重要参数配置01. acks02. 消息传递时间03. linger.ms04. buffer.memory05. batch.size06. max.in.flight.requests.per.connection07. compression.type08. max.request.size09. receive.buffer.bytes和 send.buffer.b…...
MAUI+Blazor:windows 打包踩坑
文章目录 前言MSIX安装文件如何发布选择Windows平台旁加载自定义签名版本号安装 总结 前言 最近打算研究一下MAUIBlazor,争取在今年年底之前彻底搞懂MAUIBlazor的安装模式, MSIX安装文件 Windows 4种安装程序格式MSI,EXE、AppX和MSIX优缺点…...
web集群学习:搭建 LNMP应用环境
目录 LNMP的介绍: LNMP组合工作流程: FastCGI介绍: 1、什么是 CGI 2、什么是 FastCGI 配置LNMP 1、部署LNMP环境 2、配置LNMP环境 LNMP的介绍: 随着 Nginx Web 服务的逐渐流行,又岀现了新的 Web 服务环境组合—…...
我的创作纪念日(256天)
前言 结缘 我与csdn的结缘,之前在创作纪念日(128天)便已提到,今在此便不再多言 收获 很惭愧,自六月底至八月中旬,因为忙于找工作,奔赴面试求职之际,写博客没有像之前那么勤&#x…...
Vue 转 React 指南
原文: https://icheng.github.io/2023/08/10/Vue%E8%BD%ACReact%E6%8C%87%E5%8D%97/ JSX 先介绍 React 唯一的一个语法糖:JSX。 理解 JSX 语法并不困难,简单记住一句话,遇到 {} 符号内部解析为 JS 代码,遇到成对的 …...
Oracle外部表ORACLE_LOADER方式加载数据
当数据源为文本或其它csv文件时,oracle可通过使用外部表加载数据方式,不需要导入可直接查询文件内的数据。 1、如下有一个文件名为:test1.txt 的数据文件。数据文件内容为: 2、使用sys授权hr用户可读写 DATA_PUMP_DIR 目录权限&a…...
【RocketMQ】NameServer总结
NameServer是一个注册中心,提供服务注册和服务发现的功能。NameServer可以集群部署,集群中每个节点都是对等的关系(没有像ZooKeeper那样在集群中选举出一个Master节点),节点之间互不通信。 服务注册 Broker启动的时候会…...
Wordcloud | 风中有朵雨做的‘词云‘哦!~
1写在前面 今天可算把key搞好了,不得不说🏥里手握生杀大权的人,都在自己的能力范围内尽可能的难为你。😂 我等小大夫也是很无奈,毕竟奔波霸、霸波奔是要去抓唐僧的。 🤐 好吧,今天是词云&#x…...
《孤注一掷》现实版:29万打水漂,华为程序员也躲不过的诈骗
明天周五,约吗? 不管怎样,反正播妞已经订好了《孤注一掷》的电影票。不为别的,《孤注一掷》太敢拍了!!! 美女荷官在线发牌,高知程序员在线养“猪”,诈骗头目“虔诚”拜…...
C语言库函数之 qsort 讲解、使用及模拟实现
引入 我们在学习排序的时候,第一个接触到的应该都是冒泡排序,我们先来复习一下冒泡排序的代码,来作为一个铺垫和引入。 代码如下: #include<stdio.h>void bubble_sort(int *arr, int sz) {int i 0;for (i 0; i < sz…...
Maven之mirrorof范围
mirrorOf 是 central 还是 * 的问题 在配置阿里对官方中央仓库的镜像服务器时,我们使用到了 <mirror> 元素。 <mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿里云公共仓库</name><url>…...
游戏中的UI适配
引用参考:感谢GPT UI适配原理以及常用方案 游戏UI适配是确保游戏界面在不同设备上以不同的分辨率、屏幕比例和方向下正常显示的关键任务。下面是一些常见的游戏UI适配方案: 1.分辨率无关像素(Resolution-Independent Pixels)&a…...
【Linux命令详解 | gzip命令】 gzip命令用于压缩文件,可以显著减小文件大小
文章标题 简介一,参数列表二,使用介绍1. 基本压缩和解压2. 压缩目录3. 查看压缩文件内容4. 测试压缩文件的完整性5. 强制压缩6. 压缩级别7. 与其他命令结合使用8. 压缩多个文件9. 自动删除原文件 总结 简介 在Linux中,gzip命令是一款强大的文…...
IP 协议的相关特性和数据链路层相关知识总结
目录 IP 协议的相关特性 一、IP协议的特性 二、 IP协议数据报格式 三、 IP协议的主要功能 1. 地址管理 动态分配 IP地址 NAT机制 NAT背景下的通信 IPV6 2. 路由控制 3.IP报文的分片与重组 数据链路层相关知识 1、以太网协议(Ethernet) 2.M…...
探索C语言中的常见排序算法
探索C语言中的常见排序算法 排序算法是计算机科学中至关重要的基础知识之一,它们能够帮助我们对数据进行有序排列,从而更高效地进行搜索、插入和删除操作。在本篇博客中,我们将深入探讨C语言中的一些常见排序算法,包括它们的工作…...
【UE】Web Browser内嵌网页在场景中的褪色问题
使用WebBrowser放置在场景中时,网页颜色会出现异常的褪色。 这是因为 Web 浏览器插件以 sRGB 格式输出其颜色数据,而 Widget/3D Widget 需要线性 RGB 格式的数据。 可以通过创建在 3D Widget 中使用的新材质(而不是默认的 Widget3DPassthr…...
rust入门系列之Rust介绍及开发环境搭建
Rust教程 Rust基本介绍 网站: https://www.rust-lang.org/ rust是什么 开发rust语言的初衷是: 在软件发展速度跟不上硬件发展速度,无法在语言层面充分的利用硬件多核cpu不断提升的性能和 在系统界别软件开发上,C出生比较早,内…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
