python+opencv学习之路(一 )学习打开图片

2023-10-27

python+opencv学习之路(一 )

学习打开图片

载入opencv和numpy模块
import cv2
import numpy as np
读取图片

img = cv2.imread("1.jpg", cv2.IMREAD_COLOR)

“1.jpg”是要读入图片的完整路径,我将图片放入与.py文件与同一文件夹下,就只需要写下文件名即可。注意:似乎文件名不支持汉字,开始我用汉字报错,后来不用就好了
cv2.IMREAD_COLOR是读入图片的标志

###opencv支持以下3种
- cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
- cv2.IMREAD_GRAYSCALE:读入灰度图片
- cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通- 道

读入后就是显示图片

cv2.imshow("image", img)

“image”:是显示图像的窗口的名字
img:是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小
显示后你会看到程序结束窗口关闭的画面
因为现在程序直接结束了,程序直接关闭退出
因此你需要

cv2.waitKey(0)

cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。
有一句话很关键”若在等待时间内按下任意键则返回按键的ASCII码”
这表示你可以用此功能做一个简单的按键检测。

下面贴出按键与ASCII码的对应表

ESC键 VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键: VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ( 10)Ctrl

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python+opencv学习之路(一 )学习打开图片 的相关文章

  • 分支语句简单讲

    分支语句之if语句 if 表达式 语句1 else 语句2 if语句中if else后默认只有一条语句 若要跟多条语句 要用 把语句括起来 例如下面 if age lt 18 printf 未成年 n printf 不能喝酒 n else
  • 如何开发kanzi插件,越详细越好

    开发Kanzi插件需要使用Kanzi SDK 它提供了一系列工具和技术 可以帮助开发者实现自己的设想 并将其应用在Kanzi上 首先 我们需要从Kanzi官网上下载Kanzi SDK 然后使用IDE 如Visual Studio或Eclip
  • Python代码规范:企业级代码静态扫描-代码规范、逻辑、语法、安全检查,以及代码规范自动编排(1)

    适用于企业实际使用Python或Python框架 Tornado Django Flask等 开发的项目作为扫描目标 进行代码规范 逻辑 语法 安全检查 代码风格规范主要有几个方面 命名规范 语言规范 格式规范 其中大部分命名规范和语言规范
  • rabbitmq命令小记录

    rabbitmq学习的一些链接 http blog csdn net anzhsoft article details 19563091 检查是否有内存泄露 sudo rabbitmqctl list queues name message
  • JAVA毕业设计课设源码分享50+例

    1 基于Springboot员工薪资管理系统 2 基于server jsp智能化停车场管理系统 3 基于SSM网上点餐系统 4 基于springboot商城购物系统 5 基于springboot中小学教务管理系统 6 基于springboo
  • 如何搭建测试环境

    1 首先检查环境和本地网络是否正确 环境就是检查系统版本是否符合开发要求 系统与本地是否能连接 2 找开发要软件包 安装数据库和服务器 把压缩包拖入 或rz 一键安装或单个yum install 3 上传项目包 确认上传的路径 文档 开发
  • vs更换本地git账号

    有人认为vs中用的git账号是哪个无所谓 其实不然 git账号不同 访问的权限就不一样 那么如果想跟换git账号该怎么做呢 win7 控制面板 gt 用户帐户和家庭安全 gt 凭据管理器 编辑普通凭据中的git账号或者直接删除 然后重启vs
  • rdesktop架构解析(RDP协议分析)

    转载自 http blog csdn net songbohr article details 5309650 本文立足于rdesktop的架构层次进行解析 算是抛砖引玉 国内对RDP协议深入解析的资料到本文发布时为空白 ps 昨天在nok
  • UVM基础-sequence library

    一 sequence library的用法 1 1 sequence library在环境中的使用 uvm sequence library定义为是一堆sequence的集合 本质上其实就是uvm sequence 只不过在普通的uvm s
  • Python实现一个情人节必备表白神器——跳动的爱心,基于tkinter实现

    前言 包子们 晚上好 一般能够看到这篇文章的小伙伴 不是单身狗 那也得是一个贵族 如果你有心仪的对象啦 如果你想表白一个女生啦 如果你还在想着怎么表白女神 这不是就给大家安排好了 跳动的爱心 怎么说呢 用这个表白也可以的 万一就成了呢 哈哈
  • GOF设计模式(04)桥接模式

    简介 一 定义 1 概念 桥接 Bridge 模式 将抽象部分与其实现部分分离 使得他们都可以独立地变化 它是一种对象结构型模式 又称为接口模式 桥接符合开闭原则和单一职责原则 2 理解 在使用桥接模式时 我们首先应该识别出一个类所具有的两
  • CNN、RNN用于时间序列预测的代码接口和数据格式详解(pytorch)

    网上对时序问题的代码详解很少 这里自己整理对CNN和RNN用于时序问题的代码部分记录 便于深入理解代码每步的操作 本文中涉及的代码 https github com EavanLi CNN RNN TSF a toy 一 1D CNN 1
  • [人工智能-深度学习-32]:卷积神经网络CNN - 常见分类网络- AlexNet网络结构分析与详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120837261 目录 第1章 卷积神
  • Eclipse Mars(4.5.2) 安装Gradle 插件

    第一步 选择Eclipse Marketplace 第二步 搜索Buildship gradle插件 并安装 第三步 gradle 安装授权协议 第四步 点击confim 完成安装后要求重启 Eclipse 第五步 Eclipse查看是否有
  • 2023牛客暑假多校训练营2

    D The Game of Eating 贪心 题目说每个人只关心自己享用的菜肴 而不考虑他人 每个人的目标都是使得自己喜欢的菜肴尽可能多 也就是说每个人都很鸡贼 它们当下都是做出最有利于自己的选择 对于某一个人 他首先会算在他之后他最喜欢
  • 计算机探秘二 (算盘与二进制)

    上次我们说到如何将数字通过CPU的电路线 后面我们称为数据线 传给它 在说这个问题前 我们一起看下咱老祖宗发明的计算神器 算盘 它长这样的 算盘分上珠和下珠 下珠每个珠子表示一个 上珠每个珠子表示5个 上下珠之间有一根细长的圆杆相连 具体计
  • linux驱动程序运行优先级,如何调整Linux内核启动中的驱动初始化顺序(late_initcall和module_init)...

    在init h 中有如下定义 define pure initcall fn define initcall 0 fn 1 define core initcall fn define initcall 1 fn 1 define core
  • STM32串口IAP(YModem) (转载)

    在之前的 STM32串口IAP 一文中 通过传输数据流来升级程序 但是这种 裸 数据的传输方式存在这许多的问题 比如它没有容错机制 不能保证数据的正确传输 还比如说它无法获知升级文件的信息 导致它在判断何时停止接收数据上 犹豫不决 正式为了
  • Cobalt-Strike基本使用

    Cobalt Strike 简介 Cobalt Strike 简称为CS 是一款基于java的渗透测试工具 尤其是后渗透阶段 自3 0开始已经不再使用Metasploit框架而作为一个独立的平台使用 这款工具有其他很多渗透测试工具没有的团队
  • Git-远程仓库(GitLab)

    系列文章 Git 入门小结 Git 分支 Git 常用命令 Git 注册远程仓库 Git 远程仓库 1 生成SSH KEY ssh keygen t rsa C youremail xx com git里注册的邮箱 可以用git confi

随机推荐

  • MybatisPlus更新时会自动忽略传值为NULL的字段

    三种方案解决MybatisPlus更新时会自动忽略传值为NULL的字段 一 背景 二 解决方案 2 1 使用 TableField updateStrategy FieldStrategy IGNORED 注解添加在字段上 在枚举 Fiel
  • Python数据分析与大数据技术与应用高级教程

    Python数据分析与大数据技术与应用高级教程 教程地址 https www piaodoo com 课程目标 虚拟现实 增强现实及混合现实技术既密切相关 又有显著差别 培训课程旨在帮助学员深入理解这三者的思想精髓及其统一技术构架 梳理出V
  • Hexo 完整使用教程

    官网 官网地址 https hexo io zh cn 环境 1 node hexo 基于 node 所以首先要安装node环境 2 npm 包管理工具 环境配置请参考本站对应安装教程 快速开始 安装 hexo npm install g
  • Mysql数据库内联查询、左连接查询、右连接查询、自连接查询介绍

    目录 一 内联查询 1 inner join 只查询键值一致 交叉 的部分 2 演示 二 左连接 1 left join 以左表为标准 查询输出左表中没有的字段信息 2 演示 三 右连接 1 right join 以右表为标准 查询输出右表
  • 区块如何防篡改_一种区块链防篡改技术的优化方法与流程

    本发明涉及区块链技术领域 具体涉及一种区块链防篡改技术的优化方法 背景技术 区块链是比特币等数字虚拟货币的底层技术 通过去中心化的数据记录 由全网所有的节点共同维护数据 实现安全地存储数据 具有不可伪造性 不可篡改性 可追溯性 匿名性等特点
  • Java编程练习之:水仙花数

    文章目录 1 题目 2 思路 3 代码 4 运行结果 1 题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153 1的三次方 5的三次方 3的三次方 2 思路 这
  • 线程池的简介说明

    在多线程应用程序开发中 如果我们不使用线程池 则每次创建和销毁线程将会消耗宝贵的CPU 内存资源 所以我们必须创建一个线程池 线程池的功能 线程池用于管理线程 用于减少系统资源消耗 创建一个线程池 实现思路 借助线程池类Executor 借
  • Java Map集合 体系

    1 Collection集合 1 1 常用集合的体系 mermaid svg dmg6k5CugOsij3Ax label font family trebuchet ms verdana arial font family var mer
  • openGL之API学习(九十四)几何着色器的几个参数设置含义

    设定输入几何图元的类型 比如GL TRIANGLES glProgramParameteriEXT program GL GEOMETRY INPUT TYPE EXT inputGeometryType 设定输出几何图元的类型 比如GL
  • Leetcode之KMP字符串算法

    针对题目28题 实现strStr 功能找出needle在haystack字符串的第一个位置 否则返回 1 当然有暴力法 但是时间复杂度是O mn 而KMP算法提前计算出needle字符串的重复数据加以利用 j能够有效的回退到可能的位置 时间
  • 树干树叶点云分类

    将扫描的树木点云的树干树枝和树叶分类出来 后续放出程序代码
  • Cluster & Docker

    操作系统解决主要问题之一就是如何在一台机器上调度硬件资源 比如为一个进程分配cpu gpu 存储资源等 使得进程可以高效 按照预期地完成运行 云和互联网解决的主要问题之一是如何在多台机器之间调度硬件资源or调度信息资源 这就产生了更丰富架构
  • SpringCloud最新版环境集成-2021年11月

    总述 之前搞过SpringCloud项目 但版本是netflix维护的伦敦地铁站名称的版本 现在想做一下笔记 并尝试最新版本 看有什么变动没 结果还真有一堆坑 此项目集成了eureka feign ribbon hystrix zuul五大
  • 在.Net 6项目中设置MySql数据库的连接配置文件appsettings.json及在Program.cs中读取配置文件并向DI容器注册服务。

    1 配置一 配置好ConnectionStrings 通过ConnectionString动态读取ServerVersion 推荐使用 appsettings json ConnectionStrings MoviesDBContext s
  • MFC + 自定义类的序列化与反序列化

    使类可序列化需要五个主要步骤 从 CObject 派生类 或从 CObject 派生的某个类中派生 重写 Serialize 成员函数 使用 DECLARE SERIAL 宏 在类声明中 定义不带参数的构造函数 为类在实现文件中使用 IMP
  • SQL 删除表数据行与重置自动增长字段

    delete 语句 delete from tablename 表名 where ID 列名 x 表示删除数据表中ID列的值为x的数据行 在ID列设置了自动增长主键列的情况下 这种删除方式将会保留该数据行所占用的自动增长值 此后添加数据时此
  • Linux内嵌链表(sys/queue.h)详解

    Linux 内嵌链表 sys queue h 详解 queue 简介 SLIST STAILQ LIST TAILQ CIRCLEQ 例程 queue 简介 C语言不像C 语言可以使用STL 在编程中需要用到链表时 通常需要程序员重新设计链
  • java中数据库重连

    当数据库重新启动 而导致程序无法连接 需要重启tomcat才能重连的解决办法 方法一 将连接池由DBCP改为C3P0 c3p0连接池本身具有数据库重连机制
  • 传统的目标检测算法

    1 基于滑动窗口的目标检测算法 滑动窗口 gt gt 特征提取 gt gt 分类器 图 滑动窗口目标检测流程 对输入的图像设置不同大小的滑窗 确定步长遍历整个图像 每次滑动完成后对当前选择框进行特征提取 SIFT HOG等 并使用事先训练好
  • python+opencv学习之路(一 )学习打开图片

    python opencv学习之路 一 学习打开图片 载入opencv和numpy模块 import cv2 import numpy as np 读取图片 img cv2 imread 1 jpg cv2 IMREAD COLOR 1 j