当前位置: 首页 > 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;内…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

el-amap-bezier-curve运用及线弧度设置

文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 ‌el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。‌ 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...

以太网PHY布局布线指南

1. 简介 对于以太网布局布线遵循以下准则很重要&#xff0c;因为这将有助于减少信号发射&#xff0c;最大程度地减少噪声&#xff0c;确保器件作用&#xff0c;最大程度地减少泄漏并提高信号质量。 2. PHY设计准则 2.1 DRC错误检查 首先检查DRC规则是否设置正确&#xff0c;然…...

使用VMware克隆功能快速搭建集群

自己搭建的虚拟机&#xff0c;后续不管是学习java还是大数据&#xff0c;都需要集群&#xff0c;java需要分布式的微服务&#xff0c;大数据Hadoop的计算集群&#xff0c;如果从头开始搭建虚拟机会比较费时费力&#xff0c;这里分享一下如何使用克隆功能快速搭建一个集群 先把…...

Pycharm的终端无法使用Anaconda命令行问题详细解决教程

很多初学者在Windows系统上安装了Anaconda后&#xff0c;在PyCharm终端中运行Conda命令时&#xff0c;会遇到以下错误&#xff1a; conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保…...