《数字图像处理-OpenCV/Python》连载(5)图像的显示

news2024/11/15 6:43:51

《数字图像处理-OpenCV/Python》连载(5)图像的显示


本书京东优惠购书链接:https://item.jd.com/14098452.html
本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html

在这里插入图片描述


第1章 图像的基本操作

为了方便初学者从零开始学习OpenCV-Python,本书从图像的读取、保存和显示等基本操作开始介绍,使读者可以循序渐进地使用和理解本书的每一个例程。


1.2 图像的显示


函数cv.imshow用于显示图像。

函数原型

cv.imshow(winname, mat) → None
cv.waitKey([, delay]) → retval

函数cv.imshow用于在指定窗口中显示OpenCV图像,默认将图像的像素值映射到[0,255] 显示。函数cv.waitKey用于等待按键事件或延迟(毫秒),以保持窗口显示。

参数说明

  • winname:指定的显示窗口的名称。
  • mat:显示的OpenCV图像,是多维Numpy数组。
  • delay:延迟时间,单位为毫秒,0表示无限延迟。

注意问题
(1) 函数cv.imshow后必须带有函数cv.waitKey。如果没有函数cv.waitKey,显示窗口将会一闪而过。
(2) 图像显示窗口在函数cv.waitKey中设置时长延迟(毫秒)后会自动关闭。waitKey(0)表示不会自动关闭窗口。
(3) 显示窗口可以先用函数cv.namedWindow创建并命名,然后用函数cv.imshow显示。如果指定窗口尚未创建,函数cv.imshow会创建一个自适应图像大小的窗口。
(4) 推荐在程序结束前使用函数cv.destroyWindow关闭指定窗口,也可以使用函数cv.destroyAllWindows关闭所有显示窗口。
(5) 可以同时使用多个窗口,但要定义不同的窗口名称(winname)。
(6) 如果显示图像的分辨率高于屏幕的分辨率,则必须先用函数cv.namedWindow创建窗口。
(7) 如果显示图像的数据类型为浮点型,则要将像素值归一化到[0.0, 1.0]才能正常显示。


【例程0104】在OpenCV图像窗口中显示图像

本例程用于在OpenCV图像窗口中显示图像,如图1-1所示。

# 【0104】在OpenCV 图像窗口中显示图像
import cv2 as cv

if __name__ == '__main__':
    filepath = "../images/Lena.tif"  # 读取文件的路径
    img = cv.imread(filepath, flags=1)  # flags=1 读取彩色图像(BGR)
    gray = cv.imread(filepath, flags=0)  # flags=0 读取为灰度图像

    cv.imshow("Lena", img)  # 在窗口 img1 显示图像
    cv.imshow("Lena_gray", gray)  # 在窗口 img2 显示图像
    key = cv.waitKey(0)  # delay=0, 不自动关闭
    cv.destroyAllWindows()

在这里插入图片描述

图1-1 在OpenCV图像窗口中显示图像

程序说明
(1) 在名称为“Lena”“Lena_gray”的窗口显示彩色或灰度图像(见图1-1)。
(2) 注意函数cv.imshow后必须带有函数cv.waitKey,否则显示窗口会一闪而过。


注:例程读取图像 Lena.tif 如下。
在这里插入图片描述

本书京东优惠购书链接:https://item.jd.com/14098452.html


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/132688395)
Copyright 2023 youcans, XUPT
Crated:2023-09-05

欢迎关注本书CSDN独家连载专栏
《数字图像处理-OpenCV/Python》连载: https://blog.csdn.net/youcans/category_12418787.html

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

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

相关文章

Discourse 的系统日志

Discourse 提供了较为完善的日志查看方式。 用得最多的可能就是 Logster 的基于 Web 的 UI 了。 Logster Discourse 的错误日志面板用的是 logster,采集的是 Rails/Rack 的日志,正常应该用 Rails::Logger 但是 discourse 做了封装。 正常的访问地址为…

《程序员职场工具库》必须及格的职场工具 —— PPT 系列1

这是《程序员职场工具库》系列文章,在阅读本文之前,建议先阅读 《程序员职场工具库》 工具导论。 前言 如果做个跟 PPT 相关的调查问卷,估计大部分的程序员都会避之唯恐不及。因为每次谈起 PPT 工具,总会让我们想起很多不太好的回…

Python数据分析实战-依次遍历dataframe每一行,对某字段进行分析处理并新增一列(附源码和实现效果)

实现功能 依次遍历每一行,在某列包含某个元素时新增一列进行标记 实现代码 def province_distribution_of_colleges(self, file):df pd.read_excel(os.path.join(self.datapath, file))df1 dfhua_bei [北京市,天津市,河北省,山西省,内蒙古自治区]dong_bei [辽…

vue: 使用下拉树组件@riophae/vue-treeselect

前言: 在vue中, 因为element-ui 2.X是没有tree-select组件的,到了element-plus就有了 riophae/vue-treeselect是一个基于 Vue.js 的树形选择器组件,可以用于选择树形结构的数据。它支持多选、搜索、异步加载等功能,可以自定义选项的样式和模…

2023如何推广外贸独立站?

答案是:2023外贸独立站推广可以选择谷歌SEO谷歌Ads双向运营。 在2023年,外贸独立站的推广方式已经不再是过去简单的搜索引擎优化或广告推送。 现代的推广手段需要更多地涵盖多样性和针对性,从而确保可持续的客流和利润增长。 本文将深入探…

IP6510 为“快充”而生 支持PD及各种快充协议芯片多口快充解决方案

IP6510深力科是一款集成同步开关的降压转换器、支 持 9 种输出快充协议、支持 Type-C 输出和 USB PD 协议,为车载充电器、快充适配器、智能排插提供 完整的解决方案。 IP6510 内置功率 MOS,输入电压范围是 4.5V 到 32V,输出电压范围是 3V 到…

MySQL表空间

MySQL表空间 文章目录 MySQL表空间1. MySQL中的表1.1 IOT表1.2 InnoDB逻辑存储结构2. 独立表空间2.1 段 segment2.1.1 段的概念2.1.2 段的分类2.1.2.1 叶子节点段主要结构2.1.2.2 非叶子节点段2.1.3 碎片区2.2 区2.2.1 区的概念2.2.2 区的结构2.2.2.1 XDES Entry结构2.3 页2.3.…

【sgLazyCascader】自定义组件:基于el-cascader的懒加载级联菜单,支持异步加载子级菜单

sgLazyCascader源码 <template><div :class"$options.name"><el-cascader :props"props" v-model"model" :placeholder"placeholder || 请选择" :options"options"></el-cascader></div> &l…

欧洲汽车制造商押注电力合成燃料 | 2023中国可持续燃料峰会

欧洲几家汽车制造商表示&#xff0c;所谓的电力合成燃料(e-fuels&#xff0c;利用可再生电力合成的化石燃料&#xff0c;又称电子燃料)将在欧洲汽车行业的未来发挥关键作用&#xff0c;它们相信&#xff0c;布鲁塞尔方面在替代燃料问题上的让步&#xff0c;将使它们能够在未来1…

TiledMap 浅谈

Tiled Map Editer 制作TiledMap的工具很多&#xff0c;这里推荐一个免费的工具。 Tiled Map Editer 官网网站&#xff1a;https://doc.mapeditor.org/ 简单的Tiled Map Editer教程 安装Tiled Map Editer&#xff0c;打开。 点击新建地图 块大小建议为32的倍数 地图方向 …

Commonsense Knowledge Base Completion with Structural and Semantic Context

摘要 与研究较多的传统知识库(如Freebase)相比&#xff0c;常识性知识图(如ATOMIC和ConceptNet)的自动知识库补全提出了独特的挑战。常识知识图使用自由形式的文本来表示节点&#xff0c;与传统知识库相比&#xff0c;导致节点数量增加了几个数量级(与Freebase (FB15K237)相比…

分类预测 | MATLAB实现PCA-GRU(主成分门控循环单元)分类预测

分类预测 | MATLAB实现PCA-GRU(主成分门控循环单元)分类预测 目录 分类预测 | MATLAB实现PCA-GRU(主成分门控循环单元)分类预测预测效果基本介绍程序设计参考资料致谢 预测效果 基本介绍 Matlab实现基于PCA-GRU主成分分析-门控循环单元多输入分类预测&#xff08;完整程序和数据…

DataGridView选中的单元格求和

DataGridView单元格求和功能的基本思路是先得到选中的单元格&#xff0c; 1&#xff0c;在内存中定义两张表&#xff0c;一张存放列名&#xff0c;一张存放列名和数个。这样这两张表就开成了一对多的父子关系。 2&#xff0c;在将两张定及他们的父子关系添加到DataSet对象中 4…

5款无广告的小软件,先收藏再下载

​ 最近后台收到好多小伙伴的私信&#xff0c;今天继续推荐五款小工具&#xff0c;都是免费使用的&#xff0c;大家可以去试试看。 1.写作软件——Effie ​ Effie是一款极简风格的写作软件&#xff0c;它可以帮助您优雅地写作和记录&#xff0c;把思想变成价值。Effie支持多种…

嵌入式学习笔记(19)SDRAM引入

SDRAM的特性&#xff08;容量大、价格低、掉电易失性、随机读写、总线式访问&#xff09; SDRAM/DDR都属于动态内存&#xff08;相对于静态内存SRAM&#xff09;&#xff0c;都需要先运行一段初始化代码来初始化才能使用&#xff0c;不像SRAM开机上电后就可以直接运行。类似于…

2023-大数据应用开发-工业可视化参考结果

工业可视化 任务一&#xff1a;用柱状图展示设备历史各个状态持续时长 编写Vue工程代码&#xff0c;根据接口&#xff0c;用柱状图展示接口所有数据中各设备各个状态持续时长&#xff08;秒&#xff09;&#xff0c;同时将用于图表展示的数据结构在浏览器的console中进行打印…

ipad手写笔一定要买苹果的吗?apple pencil二代平替笔推荐

近年来&#xff0c;随着Apple pencil的出现&#xff0c;在工作和学习上给小伙伴们带来了许多便捷。但原装的价格对于我们这些“贫民窟”的小伙伴来说真的是太贵了&#xff0c;而且感觉只是偶尔书写和业余画画&#xff0c;没必要入手这么贵的电容笔。所以咱们国货出现了许多平替…

day53 补

1143.最长公共子序列 力扣题目链接(opens new window) 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff0…

配置远程访问:让外部网络用户能够使用公司内部的OA办公系统

文章目录 前言1. 确认在内网下能够使用IP端口号登录OA办公系统2. 安装cpolar内网穿透3. 创建隧道映射内网OA系统服务端口4. 实现外网访问公司内网OA系统总结 前言 现在大部分公司都会在公司内网搭建使用自己的办公管理系统&#xff0c;如OA、ERP、金蝶等&#xff0c;员工只需要…

VSCode中调试通过torchrun实现的分布式训练启动程序

train.sh文件实现torchrun如下 #!/bin/bashpy3clean ./ CUDA_VISIBLE_DEVICES3 torchrun --nproc_per_node1 --master_port9006 tools/train.py \configs/basicvsr_plusplus_vimeo90k_bd.py \--seed 0 \ 需要进行更改来DeBug&#xff0c;改成launch.json如下所示&#xff0c;…