opencv是一个基于BSD许可发行(也就是俗称的开源)的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS上。由一系列 C 函数和少量 C++ 类构成的它轻量且高效,并提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

对于python而言,在引用opencv库的时候需要写为import cv2。其中,cv2是opencv的C++命名空间名称,使用它来表示调用的是C++开发的opencv的接口。

参考地址:

https://pypi.org/project/opencv-python/

https://blog.csdn.net/saltriver/article/details/78166046

使用文档:https://docs.opencv.org/master/

需要注意的是,如果按文档编写后报本应存在的预设常量不存在的错误时,记得在常量名前加上cv2. ,或者在引用是直接将cv2引用为*。

基础用法

为了加深印象,特此记录。

void cv2.namedWindow(String winname, int flags=WINDOW_AUTOSIZE)

以flags设置的方式初始化一个名为winname的窗口。WINDOW_AUTOSIZE生成的窗口无法自由改变大小(指鼠标拖动改变窗口大小)。如要改变大小使用cv2.WINDOW_NORMAL初始化窗口。

void cv2.imshow(String winname, InputArray img)

在指定窗口winname中显示图像img。

若在此之前未生成窗口,该函数将按图像分辨率初始化窗口。

int cv2.waitKey(int delay=0)

如果使用默认值或设置一个小于等于0的值,程序会在此阻塞,等待键盘事件。设置一个大于0的值,程序会在此等待至少设置值数值的时间(设置数值单位为毫秒),因为操作系统切换线程需要时间,所以是至少。其返回值是按键对应的ascii码值或设定时间内无按键事件时的-1。

需要注意的是,这个函数只有在已有窗口之后才能生效。(简单来说可以是imshow过一次之后)

这次一定要记住opencv和cv2是什么及其基础用法的更多相关文章

  1. OpenCV中cv2的用法

    一.读入图像 使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志  cv2.IMREAD_COLOR:默认参数 ...

  2. Pycharm,Python 安装OpenCV and CV2 时,报错,教你如何正确安装。

    Collecting cv2 Could not find a version that satisfies the requirement cv2 (from versions: ) No matc ...

  3. 关于opencv的cv2.WINDOW_一类

    用法:cv2.namedWindow('窗口标题',默认参数) 默认参数:cv2.WINDOW_AUTOSIZE+cv2.WINDOW_KEEPRATIO+cv2.WINDOW_GUI_EXPANDE ...

  4. 【数字图像处理】OpenCV中cv2.imread()与PIL中Image.open()的差别

    cv2.imread()与PIL中Image.open()两个函数都是用来读取图像,但是在使用过程存在一些差别. 1. 首先,从导入库方面看: # opencv-python import cv2 # ...

  5. 在Python中使用OpenCV(CV2)对图像进行边缘检测

    转载:https://blog.csdn.net/cumtb2002/article/details/107798767 Modules used: 使用的模块: For this, we will ...

  6. OpenCv的CV2一些函数总结

  7. opencv-python与c++ opencv中的一些区别和基础的知识

    使用opencv-python一段时间了,因为之前没有大量接触过c++下的opencv,在网上看c++的一些程序想改成python遇到了不少坑,正好在这里总结一下. 1.opencv 中x,y,hei ...

  8. Opencv笔记(十)——卷积基础

    卷积 什么是二维卷积呢?看下面一张图就一目了然:         卷积就是循环对图像跟一个核逐个元素相乘再求和得到另外一副图像的操作,比如结果图中第一个元素5是怎么算的呢?原图中3×3的区域与3×3的 ...

  9. 5分钟记住列表的使用功能-Python基础前传(7)

    学习任何一门技术,最重要的是逻辑而不是内容,仅会内容,我们仅仅是技术的使用者,但如果我们懂得了技术背后的逻辑,我们就是技术的创造者,所以同样领域的工作,有人月入5千,有人月入5万,就是这个差别: 学技 ...

随机推荐

  1. SpringBoot配置文件(2)

    六.配置文件加载 SpringBoot 启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件 file:./co ...

  2. Hash Tables and Hash Functions

    Reference: Compuer science Introduction: This computer science video describes the fundamental princ ...

  3. Spring Boot超详细用户管理项目(零)——开发前准备

    开始前的软件准备:(编写中:未完成) 使用软件介绍: Java版本:Java SE 11(LTS) 开发工具:IDEA(2020.3版本) Linux系统: 数据库: Java 版本:Java SE ...

  4. docker 容器和镜像的常用命令

    镜像 docker rmi 镜像id -f # 删除指定镜像 docker rmi 镜像id 镜像id -f # 删除多个镜像 docker rmi -f $(docker images -aq) # ...

  5. 【EXP】根据字段导出数据query

    exp有些时候需要根据字段来进行导出操作 例如:想要导出hr用户中的employees中salary要大于4000的数据 这样的话需要添加where语句,需要用到的参数是query 查看下大于4000 ...

  6. 【Oracle】什么是DRM,怎么关闭

    DRM 分析及案例讲解 什么是DRM DRM(Dynamic Resource management)是oracle10.10.2里面推出来的一个新特性,一直到现在最新的12cR1,都存在,且bug非 ...

  7. kubernets之持久卷的动态配置

    一  介绍持久卷的动态配置原理 前面介绍的pv以及pvc,都需要kubernets集群管理员来支持实际的底层存储,但是kubernets还支持动态配置持久卷来自动化完成这个任务集群管理员可以创建一个持 ...

  8. 1 分钟上手,在容器中运行 Visual Studio Code

    https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 这个插件允许我们在容器中运 ...

  9. BAPI_PO_CHANGE

    这两天用BAPI更改采购订单,遇到了一些问题,最后调试解决了.记录如下吧.要修改的是采购订单的物料号和批次,在网上看到其它人写过关于 BAPI_PO_CHANGE的用法,但是具体问题还要具体分析啊. ...

  10. 前端知识(一)04 Vue.js入门-谷粒学院

    目录 一.介绍 1.Vue.js 是什么 2.初识Vue.js 二.基本语法 1.基本数据渲染和指令 2.双向数据绑定 3.事件 4.修饰符 5.条件渲染 6.列表渲染 7.实例生命周期 一.介绍 1 ...