OpenCV基本操(IO操作,读取、显示、保存)

news2025/1/23 17:39:21

图像的IO操作,读取和保存方法

1.1 API

cv.imread()

参数:

要读取的图像

读取图像的方式:

cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数 标志: 1

cv.IMREAD*GRAYSCALE :以灰度模式加载图像 标志: 0

cv.IMREAD_UNCHANGED :包括alpha通道(透明通道)的加载图像模式。 标志: -1

可以使用1、0或者-1来替代上面三个标志

1.2显示图像

cv.imshow()

参数:

  1. 显示图像窗口名称,以字符串类型表示
  2. 要加载的图像
    在这里插入图片描述

注意:在调用图像API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应的情况,并且图像无法显示出来

另外我们也可以使用matplotlib对图像进行展示

  1. 如果读取的是彩色图像(三个通道·)
'''
读取图像的方式:

**cv.IMREAD*COLOR**:以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数                    标志:  1

**cv.IMREAD*GRAYSCALE**   :以灰度模式加载图像                            标志:  0

**cv.IMREAD_UNCHANGED**   :包括alpha通道(透明度通道)的加载图像模式。         标志: -1

可以使用**1、0或者-1**来替代上面三个标志
'''
import cv2
import numpy as np
import cv2 as cv

import matplotlib.pyplot as plt

#以灰度图的形式读取图像


img = cv.imread('lena.png')

cv.imshow('image1',img)

cv2.waitKey(0)


#在matplotlib中显示

plt.imshow(img[:,:,::-1])  #图像按BGR顺序存储,显示的时候顺序是RGB通道,所以需要翻转成RGB

plt.show()

在这里插入图片描述

  1. 如果读取的是灰度图(一个通道)
plt.imshow(img,cmap='gray')   #使用灰度色彩映射显示灰度图像
plt.show()  #显示图像

1.3保存图像

cv.imwrite()

参数:

  1. 文件名,要保存在哪里(注意:要具体到文件名)
  2. 要保存的图像
#保存图像
cv.imwrite(r"E:\All_in\opencv\lena_saved.png",img)

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

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

相关文章

【进阶之路】pytest自动化测试框架从0-1精通实战

前言 1、运行方式 命令行模式: pytest -s login.py主函数模式: if __name__ __main__:pytest.main(["-s", "login.py"])pytest.ini运行: 在 pytest.ini 文件中配置 pytest 的运行参数。 注意点: 位置&…

车载监管模块项目需求分析报告

目录 1 文档说明.......................................................................................... 4 2 参考文件.......................................................................................... 4 3 概述.......................................…

真机安装Linux Centos7

准备工具: 8G左右U盘最新版UltraISOCentOS7光盘镜像 操作步骤 下载镜像 地址:http://isoredirect.centos.org/centos/7/isos/x86_64/ 安装刻录工具UltraISO,刻录镜像到U盘 ① 选择ISO镜像文件 ② 写入磁盘镜像,在这里选择你的U盘…

NLP(六十七)BERT模型训练后动态量化(PTDQ)

本文将会介绍BERT模型训练后动态量化(Post Training Dynamic Quantization,PTDQ)。 量化 在深度学习中,量化(Quantization)指的是使用更少的bit来存储原本以浮点数存储的tensor,以及使用更少的…

C#知识点、常见面试题

相关源码 https://github.com/JackYan666/CSharpCode/blob/main/CSharpCode.cs 0.简要概括 1.删除集合元素 1.For循环删除集合元素:从后面往前删除 从前往后删,有可能不能完全删除 #region 01.For循环删除集合元素void Test01_ForDelListElement(){//错误代码 虽然可以跑…

说说你了解的 Nginx

分析&回答 nginx性能数据 高并发连接: 官方称单节点支持5万并发连接数,实际生产环境能够承受2-3万并发。内存消耗少: 在3万并发连接下,开启10个nginx进程仅消耗150M内存 (15M10150M) 1. 正向、反向代理 所谓“代理”,是指在内网边缘 …

Dump文件的生成以及使用WinDbg静态分析

前言 本文章主要介绍了如何生成Dump文件,包括两种方式,通过代码生成和通过注册表生成。并且介绍了WinDbg工具的下载和使用,以及如何使用WinDbg工具去静态分析Dump文件,从而找到程序的崩溃位置。 生成Dump文件 通过调用WinAPI生成…

WGCNA分析教程 | 代码四

写在前面 WGCNA的教程,我们在前期的推文中已经退出好久了。今天在结合前期的教程的进行优化一下。只是在现有的教程基础上,进行修改。其他的其他并无改变。 前期WGCNA教程 WGCNA分析 | 全流程分析代码 | 代码一 WGCNA分析 | 全流程分析代码 | 代码二 …

论文阅读_扩散模型_DDPM

英文名称: Denoising Diffusion Probabilistic Models 中文名称: 去噪扩散概率模型 论文地址: http://arxiv.org/abs/2006.11239 代码地址1: https://github.com/hojonathanho/diffusion (论文对应代码 tensorflow) 代码地址2: https://github.com/AUTOM…

Linux图形栈入门概念

Mesa在图形栈中的位置 游戏引擎: 游戏引擎指的是一种软件框架,通过编程和各种工具,帮助开发者设计、构建和运行视频游戏。它相当于一个虚拟的世界创造工具,提供了各种功能模块和资源,如渲染引擎、物理引擎(碰撞检测、重…

跨模态可信感知

文章目录 跨模态可信感知综述摘要引言跨协议通信模式PCP网络架构 跨模态可信感知跨模态可信感知的概念跨模态可信感知的热点研究场景目前存在的挑战可能改进的方案 参考文献 跨模态可信感知综述 摘要 随着人工智能相关理论和技术的崛起,通信和感知领域的研究引入了…

【网络编程上】

目录 一.什么是互联网 1.计算机网络的定义与分类(了解) (1)计算机网络的定义 (2)计算机网络的分类 ① 按照网络的作用范围进行分类 ②按照网络的使用者进行分类 2.网络的网络 (理解&#xf…

OpenCV模块介绍

其中core、highgui、imgproc是最基础的模块,该课程主要是围绕这几个模块展开的,分别介绍如下: core模块实现了最核心的数据结构及其基本运算,如绘图函数、数组操作相关函数。 highgui模块实现了视频与图像的读取、显示、存储等接口。 imgp…

Redis未授权访问漏洞复现

Redis 简单使用 Redis 未设置密码,客户端工具可以直接链接。 Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据。 先启动容器 Redis 未设置密码,客户端工具可以直接链接 https://github.com/xk11z/…

windows无法连接到无线网络怎么办 windows无线网络连接不上的解决方法

windows无法连接到无线网络怎么办?一般出现这种问题的都是笔记本电脑,笔记本找不到无线网络也就相当于不能上网,今天小编要为大家带来的就是windows无线网络连接不上的解决方法,一共有五种解决教程,有需要的可以来看看…

7.6 函数的递归调用

直接调用&#xff1a; ### 1. 直接递归调用 直接递归调用是指一个函数直接调用自己。例如&#xff0c;计算阶乘的函数&#xff0c;可以使用递归方法&#xff1a; int factorial(int n) {if (n < 1) {return 1;}return n * factorial(n - 1); } 在这个例子中&#xff0c;f…

2021年12月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:电话号码 给你一些电话号码,请判断它们是否是一致的,即是否有某个电话是另一个电话的前缀。比如: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 在这个例子中,我们不可能拨通Bob的电话,因为Emergency的电话是它的前缀,当拨…

Java object类

一、JDK类库的根类:obiect 1、这个类中的方法都是所有子类通用的。任何一个类默认继承object。就算没有直接继承&#xff0c;最终也会间接继承。 2、obiect类当中有哪些常用的方法?我们去哪里找这些方法呢? 第一种方法:去源代码当中。(但是这种方式比较麻烦&#xff0c;源代…

重写 UGUI

重写Button using UnityEngine; using UnityEngine.UI; public class MyButton : Button {[SerializeField] private int _newNumber; }using UnityEditor;//编辑器类在UnityEditor命名空间下。所以当使用C#脚本时&#xff0c;你需要在脚本前面加上 "using UnityEditor&q…

Hamilton力学的辛算法简介

Hamilton力学的辛算法简介冯康我的熟人和我 都是曾经要死要活的人我的朋友和我 都是正在要死要活的人 外微分形式与辛几何 外微分形式 1-形式2-形式闭2-形式&#xff08;辛构造&#xff09; Euclid Space 符合如下内积定义的线性空间V称为Euclid空间 对称性 (a, b) (b, a)线…