当前位置: 首页 > news >正文

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 讲解、使用及模拟实现

引入 我们在学习排序的时候&#xff0c;第一个接触到的应该都是冒泡排序&#xff0c;我们先来复习一下冒泡排序的代码&#xff0c;来作为一个铺垫和引入。 代码如下&#xff1a; #include<stdio.h>void bubble_sort(int *arr, int sz) {int i 0;for (i 0; i < sz…...

Maven之mirrorof范围

mirrorOf 是 central 还是 * 的问题 在配置阿里对官方中央仓库的镜像服务器时&#xff0c;我们使用到了 <mirror> 元素。 <mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿里云公共仓库</name><url>…...

游戏中的UI适配

引用参考&#xff1a;感谢GPT UI适配原理以及常用方案 游戏UI适配是确保游戏界面在不同设备上以不同的分辨率、屏幕比例和方向下正常显示的关键任务。下面是一些常见的游戏UI适配方案&#xff1a; 1.分辨率无关像素&#xff08;Resolution-Independent Pixels&#xff09;&a…...

【Linux命令详解 | gzip命令】 gzip命令用于压缩文件,可以显著减小文件大小

文章标题 简介一&#xff0c;参数列表二&#xff0c;使用介绍1. 基本压缩和解压2. 压缩目录3. 查看压缩文件内容4. 测试压缩文件的完整性5. 强制压缩6. 压缩级别7. 与其他命令结合使用8. 压缩多个文件9. 自动删除原文件 总结 简介 在Linux中&#xff0c;gzip命令是一款强大的文…...

IP 协议的相关特性和数据链路层相关知识总结

目录 IP 协议的相关特性 一、IP协议的特性 二、 IP协议数据报格式 三、 IP协议的主要功能 1. 地址管理 动态分配 IP地址 NAT机制 NAT背景下的通信 IPV6 2. 路由控制​​​​​​​ 3.IP报文的分片与重组 数据链路层相关知识 1、以太网协议&#xff08;Ethernet&#xff09; 2.M…...

探索C语言中的常见排序算法

探索C语言中的常见排序算法 排序算法是计算机科学中至关重要的基础知识之一&#xff0c;它们能够帮助我们对数据进行有序排列&#xff0c;从而更高效地进行搜索、插入和删除操作。在本篇博客中&#xff0c;我们将深入探讨C语言中的一些常见排序算法&#xff0c;包括它们的工作…...

【UE】Web Browser内嵌网页在场景中的褪色问题

使用WebBrowser放置在场景中时&#xff0c;网页颜色会出现异常的褪色。 这是因为 Web 浏览器插件以 sRGB 格式输出其颜色数据&#xff0c;而 Widget/3D Widget 需要线性 RGB 格式的数据。 可以通过创建在 3D Widget 中使用的新材质&#xff08;而不是默认的 Widget3DPassthr…...

rust入门系列之Rust介绍及开发环境搭建

Rust教程 Rust基本介绍 网站: https://www.rust-lang.org/ rust是什么 开发rust语言的初衷是&#xff1a; 在软件发展速度跟不上硬件发展速度&#xff0c;无法在语言层面充分的利用硬件多核cpu不断提升的性能和 在系统界别软件开发上&#xff0c;C出生比较早&#xff0c;内…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...