图像的读写与保存

news2024/11/24 6:20:47

图像是由众多的像素值构成的,我们如何去操作图像呢?

答案就是将图像转化为数组。

OpenCV提供了这样的方法。

我们使用cv2.imread()方法读取图片,返回数组格式。

对于cv2.imread(filename, flags)函数参数如下:

参数filename:图片的路径和文件名。如果图片放在当前文件夹下,直接写文件名就行了,如“lena.jpg”,否则需要给出绝对路径或相对路径,如“img/lena.jpg”。

参数flags:图片的读取方式,省略则为默认值。读取方式有三种,分别为: 

cv2.IMREAD_COLOR:彩色图(1),默认值;

cv2.IMREAD_GRAYSCALE:灰度图(0)

cv2.IMREAD_UNCHANGED:包含透明通道的彩色图(-1)

在实际应用中,通常对图像进行一系列操作后要显示一下处理后的结果。首先需要新建一个空白窗口用作图像显示,再调用图片显示命令在窗口中显示出图片。cv2.namedWindow(window_name, 默认参数) 的功能就是新建一个显示窗口,可以指定窗口的类型。具体的参数为:

参数window_name是窗口的名字;

默认参数为cv2.WINDOW_AUTOSIZE,表示窗口大小自适应图片,也可以设置为cv2.WINDOW_NORMAL,表示窗口大小可调整。图片比较大的时候,可以考虑用后者。在一般使用的时候,可以跳过此步,直接使用imshow()方法。

OpenCV中可以使用cv2.imshow()方法显示图片,同时窗口会自适应图片大小。imshow(window_name, image)方法也有两个参数,第一个参数window_name是窗口的名字,第二个参数image是要显示的图片内容的数组形式。该方法执行后会弹出一个窗口,窗口的名字就是上面定义的window_name

如果想要设置窗口的显示时间,则需要使用waitKey()方法,参数为设置的毫秒数,0代表永久显示(除非手动关掉窗口)。显示完成后,还需要释放窗口占用的资源,这里使用cv2.destroyAllWindows()方法,该方法会释放所有窗口占用的资源,如果要释放指定窗口的资源,可以使用cv2.destroyWindow(window_name)方法,参数window_name为要释放的窗口的名字。

如果想把处理后的图片结果保存到本地,可以使用cv2.imwrite(filename, img [, paras])方法,参数filename是保存的路径,参数img是保存的图片内容,paras表示不同编码格式的参数,一般为nparray 多维数组形式。

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

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

相关文章

Adaptive AUTOSAR CM模块介绍(二)

在Adaptive AUTOSAR CM模块介绍(一)中介绍了 AP CM模块的功能和定位,这一篇主要是讲解AP CM模块的ara::com API的内容: 为什么AUTOSAR发明了另一种通信中间件API/技术?在当时中间件技术有很多啊?在当时特别有名的中间件有&#xf…

Kerberos常用操作

​​​​​登录Kerberos: kadmin.local 使用kadmin.local命令登录 [rootmanager ~]# kadmin.local Authenticating as principal root/adminBIGDATA with password. kadmin.local: ? # 查看命令列表i Available kadmin.local requests:add_principal, addprinc, ankAdd pri…

Pikachu靶场——SSRF 服务端请求伪造

文章目录 1 SSRF 服务端请求伪造1.1 SSRF(curl)1.1.1 漏洞防御 1.2 SSRF(file_get_content)1.2.1 漏洞防御1.2.3 SSRF 防御 1 SSRF 服务端请求伪造 SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&a…

uni-sec-check内容安全unicloud公共模块,校验微信小程序文本内容安全识别和图片智能鉴黄,uniapp进阶

uni-sec-check内容安全是unicloud封装了微信小程序的免费接口,文本内容安全识别(msgSecCheck)和音视频内容安全识别(mediaCheckAsync),如果我没选择使用uniappunicloud开发的话,可以轻松从插件市…

大数据分析就业班项目介绍

大数据分析就业班专业培养企业级刚需人才,拥有完善的独家的课程体系,采用项目式教学,专属导师全程伴学,最后帮助学生推荐就业。 大数据分析培训的适学人员包括: 1、大三大四应届学生 数学类、统计类、计算…

新增测试场景:方言

SpeechIO的所有历史文章可在语音之家网站的【声浪】-【SpeechIO专区】查看,评测结果数据可在语音之家(PC端)的【SOTA】页面查看。 官网地址:http://www.speechhome.com/eval 新增测试场景 另注:测试平台目前总计43个…

vue中同一个页面参数不同动态改变数据与标题

背景 要求做一个页面,可以在菜单配置参数后直接跳转显示不同的报表; 具体步骤 步骤1:接收参数 参数配置与路由拦截这里不详细说,可以参考vue配置参数跳转 说明:这里参考的是saber框架中的特殊情况,如果…

VS2022 编译protobuf , qt 使用

一、下载源码 protobuf: 同步 https://github.com/protocolbuffers/protobuf (gitee.com) 下载如v3.11.2 版本 二、下载CMake 三、编译 1、在1处选择源码目录下的cmake 目录;在2处选择一处空目录(自己随便建) 2、点击config,选择…

MySQL超入门(1)__迅速上手掌握MySQL

# 1.选择语句 # 注意事项:MySQL不区分大小写,SELECT * 代表选择全部 // 测试一 USE sql_store; -- 使用 sql_store库 SELECT * FROM customers -- 查询customers表 WHERE customer_id 1 OR customer_id 4 -- 条件判断为customer_id 1或customer_id …

vue 非父子通信 拓展 -- provide inject 跨层级共享数据

vue 非父子通信 拓展 – provide inject provide inject 作用: 跨层级共享数据 例子是啥样的? 创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门…

Linux(CentOS/Ubuntu)——安装nginx

如果确定你的系统是基于CentOS或RHEL,可以使用以下命令: ①、安装库文件 #安装gcc yum install gcc-c#安装PCRE pcre-devel yum install -y pcre pcre-devel#安装zlib yum install -y zlib zlib-devel#安装Open SSL yum install -y openssl openssl-de…

CTF_BUUCTF_Reverse解题_02reverse1

题目地址:BUUCTF在线评测 下载文件解压后打开exe: 输入任何东西之后都是闪退的 直接PE 64位C没加壳 再来IDA 64 找到地方F5直接看: strncmp比较 Str1和 Str2前v2的值,如果Str1Str2,返回0;大于返回正数&a…

ITSM有哪些好用的软件?

ITSM知名软件有很多,但好用且性价比高的仅有一些,比如: 1.Atlassian Jira 最初,开发人员创建Jira来跟踪软件创建,但随后Atlassian的管理层注意到一些团队正在调整Jira来处理服务台请求 2.Spiceworks Spiceworks是一款免…

Linux系统-Ubuntu的下载和安装

第一章 Linux系统-Ubuntu的下载和安装 1.下载Ubuntu ​ 进入https://cn.ubuntu.com/download中文官网下载iso映像文件: 2.安装Ubuntu 1.打开虚拟机,点击创建新的虚拟机: 2.选择“典型”,然后点击“下一步”: 3.选择…

150347-59-4;可穿透细胞膜的荧光染料CFDA, SE

产品简介:CFSE (5,6-carboxyfluorescein diacetate succinimidy ester)即羟基荧光素二醋酸盐琥珀酰亚胺脂,是一种可穿透细胞膜的荧光染料,具有与细胞特异性结合的琥珀酰亚胺脂基团和具有非酶促水解作用的羟基荧光素二醋酸盐基团,这…

【剑指Offer】55.二叉树的深度

题目 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。 数据范围:节点的数量满足 0≤n≤100 ,…

jenkins联动显示或隐藏参数

1. 添加组件 Active Choices Plug-in 如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可 Active Choices Active Choices | Jenkins plugin 2. 效果如下: sharding为空时,sharding_info和copy_info不显示 shard…

易点易动固定资产管理系统:精准管理与科学采购,降本增效的利器

在现代企业管理中,固定资产的精准管理和科学采购已成为提升企业效率和降低成本的重要环节。为了满足企业管理的需求,我们自豪地介绍易点易动固定资产管理系统,这是一款功能强大的软件解决方案,旨在帮助企业实现固定资产的精准管理…

AI数字人导览,为各行各业带来全新VR云上服务体验

纵观历届大型运动会的开幕式,开头点火的环节总是备受期待的,那么你见过亚运会的点火环节了吗?一个巨大的数字人手持火炬,穿越了钱塘江的江面,一路奔向主会场,同现场火炬手一同点燃主火炬,这一刻…

详解SPI

引言 串行外设接口(Serial Peripheral Interface,简称SPI)是一种常见且广泛应用于电子系统中的通信协议。作为一种高效可靠的串行通信技术,SPI总线在电气工程和计算机系统领域扮演着至关重要的角色。它不仅在微控制器和外设之间实…