OpenCV学习(一)——图像读取

news2025/1/13 3:07:37

1. 图像入门

  1. 读取图像
  2. 显示图像
  3. 写入图像
import cv2

# 读取图像
img = cv2.imread('lena.jpg')
print(img.shape)

# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 写入图像
cv2.imwrite('image.jpg', img)

请添加图片描述

1.1 读取图像

读取图像cv.imread(filename, flags),OpenCV加载的彩色图像处于BGR模式。

  • filename:图像的路径
  • flags:读取图像的方式。
    • cv2.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
    • cv2.IMREAD_GRAYSCALE:以灰度模式加载图像。
    • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。
# 读取灰度图像
img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE)

请添加图片描述

1.2 显示图像

一般这3个函数一起使用

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

显示图像cv.imshow(winname, mat)

  • winname:窗口名称
  • mat:读取的图像对象

cv2.waitKey()键盘绑定函数。其参数是以毫秒为单位的时间,等待任何键盘事件指定的毫秒。如果为0,则无限期地等待下一次敲击键。

cv2.destroyAllWindows()破坏我们创建的所有窗口

1.3 写入图像

读取图像cv.imwrite(filename, img)

  • filename:写入图像的文件名
  • img:要保存的图像

请添加图片描述

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

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

相关文章

程序员们平时都喜欢逛什么论坛呢?

网站不在多,好用就行;技术不求精,好摸鱼就行。是时候祭出我收藏夹里的这15个网站了! 求职必备:牛客网 https://www.nowcoder.com/ 年少不知牛客好,等到要面试的时候才发现是神器。 你可以在牛客上搜索到一…

C++内存管理:其七、标准库中的allocator

首先明确一点&#xff0c;绝大多数情况下&#xff0c;是标准库中的容器使用allocator。因为容器需要频繁的申请和释放内存。 一、容器使用allocator 典型的例子&#xff1a; vector<int , allocator<int>> a;但是为什么我们通常的定义vector变量的方法是&#x…

OpenCV学习(二)——OpenCV中绘图功能

2. OpenCV中绘图功能2.1 画线2.2 画矩形2.3 画圆2.4 画多边形2.5 添加文本 2. OpenCV中绘图功能 绘图可以实现画线、画矩形、画圆、画多边形和添加文本等操作。 import cv2 import numpy as np# 读取图像 img cv2.imread(lena.jpg)# 画直线 cv2.line(img, (0, 0), (512, 512…

【Javascript】函数声明的方式

方式一&#xff1a; function c(a,b){return ab;}var sumc(3,4);console.log(sum); 方式二&#xff1a; var afunction (a,b){return ab;}; console.log(a(1,3)); 方式三&#xff1a; 构造声明 var cnew Function (a,b,return ab); console.log(c(1,2));声明函数过程中&…

【机器学习合集】人脸表情分类任务Pytorch实现TensorBoardX的使用 ->(个人学习记录笔记)

人脸表情分类任务 注意&#xff1a;整个项目来自阿里云天池&#xff0c;下面是开发人员的联系方式&#xff0c;本人仅作为学习记录&#xff01;&#xff01;&#xff01;该文章原因&#xff0c;学习该项目&#xff0c;完善注释内容&#xff0c;针对新版本的Pytorch进行部分代码…

王道p40 1.设计一个递归算法,删除不带头结点的单链表L中的所有值为x的结点(c语言代码实现)图解递归

视频讲解(献丑了)&#xff1a;p40 第1题 王道数据结构课后代码题c语言代码实现_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Xa4y1Q7ui/?spm_id_from333.999.0.0 首先它是一个不带头结点的单链表 我们就得特殊处理 我们先让*LNULL&#xff1b; 然后为s开辟一个新…

vue3-admin-element框架登录如何修改?

1、找到vite.config.js文件 配置反向代理 2、找到src文件下的user.js文件 3、找到views文件下的login文件 打开找到comp文件夹找到LoginFrom.vue页面进去 把这个改成自己的账户数据&#xff08;密码不一致自行更改&#xff09; 4、找到store文件下的modules下的user.js 5、找到…

Java工具库——FastJson的40个常用方法

那些想看却没看的书&#xff0c;在心里摆满一个图书馆… 工具库介绍 阿里巴巴的 FastJSON&#xff0c;也被称为 Alibaba FastJSON 或阿里巴巴 JSON&#xff0c;是一个高性能的 Java JSON 处理库&#xff0c;用于在 Java 应用程序中解析和生成 JSON 数据。FastJSON 以其卓越的性…

企业电脑监控软件三大盘点

信息技术的不断发展&#xff0c;企业对于员工电脑监控的需求越来越强烈。监控员工电脑可以有效地提高工作效率&#xff0c;防止员工泄露公司机密&#xff0c;同时也可以保护公司的信息安全。 其中给大家推荐三款实用的企业电脑监控软件&#xff1a; 一、域之盾软件 该软件可实…

VS2015 搭建wxWidgets-3.2.3测试环境及运行samples

此方法免去繁琐的环境配置,直接运行及写自己的代码。 1:我们到wxWidgets的官网下载 Release wxWidgets 3.2.3 wxWidgets/wxWidgets GitHub 下载完成后如下: 2:解压上面下载的wxWidgets-3.2.3.zip 解压后如下: 之后到如下目录,运行wx_vc14.sln 3:生成结果 D:\camer…

2023年以就业为目的学习Java还有必要吗?

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

操作系统【OS】调度算法对比图

FCFS SJF 高响应比 时间片轮转 多级反馈队列 可抢占&#xff1f; √ √ √ 队列内算法不一定 不可抢占&#xff1f; √ √ √ 队列内算法不一定 特点&优点 公平实现简单有利于长作业不利于短作业有利于CPU繁忙作业不利于IO繁忙作业 因为CPU繁忙型进程即…

Kafka入门05——基础知识

目录 副本数据同步原理 HW和LEO的更新流程 第一种情况 第二种情况 数据丢失的情况 解决方案 Leader副本的选举过程 日志清除策略和压缩策略 日志清除策略 日志压缩策略 Kafka存储手段 零拷贝&#xff08;Zero-Copy&#xff09; 页缓存&#xff08;Page Cache&…

AGENS算法c++实现

cluster二维数组存放数据的编号&#xff0c;每次计算两个簇的距离&#xff0c;找出距离最近的&#xff0c;将其中一个簇的编号加入另一个编号的一维序列中&#xff0c;再将这个编号清除&#xff0c;之后再循环cluster。 #include<vector> #include <iostream> #in…

Linux小程序——进度条

1.前置知识说明 ①回车换行 首先我们需要知道&#xff0c;回车与换行是两个概念&#xff0c;在C语言中使用"\n"时&#xff0c;默认使用的是回车换行&#xff0c;举一个简单的例子&#xff0c;在以前写作文时&#xff0c;我们在某一行写到最后一个字时&#xff0c;我…

Linux C语言开发-D9输入输出

C语言无I/O语句&#xff0c;I/O操作由函数实现 #include <stdio.h> 字符输出函数:putchar(c) 参数&#xff1a;c为字符常量、变量或表达式 功能&#xff1a;把字符c输出到显示屏上 返回值&#xff1a;正常&#xff0c;为显示的代码值 格式输出函数:printf("格式控…

10.25verilog复习,代码规范复盘,触发器复习

verliog复习 1.模块的输入输出(reg与wire) 输入是线性&#xff0c;wire, 输出较复杂需要之前的状态&#xff0c;不仅仅是由当下输入来的信号的与或非组合而成的&#xff0c;需要保存之前状态的&#xff0c;输出类型是reg。 比如计数器&#xff0c;需要在之前计数的基础上再…

排列数字(深度优先搜索) C++实现

题目 代码 #include<iostream> using namespace std; const int N1010; int path[N],n; bool flag[N];void dfs(int u){if(un){for(int i0;i<n;i) printf("%d ",path[i]);puts("");return ;}for(int i1;i<n;i){if(!flag[i]){path[u]i;flag[i…

Postman的高级使用,傻瓜式学习【下】

目录 前言 1、全局变量、环境变量 1.1、概念&#xff1a; 1.2、如何设置全局变量、环境变量 1.3、获取全局变量、环境变量 1.4、案例1&#xff1a;手动设置变量&#xff0c;请求参数获取 1.5、案例2&#xff1a;代码设置变量&#xff0c;代码获取变量 2、Postman读取外部…

jvm摘要

第 2 章 Java 内存区域与内存溢出异常 2.2 运行时数据区域 程序计数器-线程私有:是一块较小的内存空间&#xff0c;它可以看作是当前线程所执行的字节码的行号指示器。 程序计数器是唯一一个没有规定任何OutOfMemoryError 情况的区域。 Java 虚拟机栈-线程私有:用于执行Java …