首页 > 其他分享 >opencv学习--基础

opencv学习--基础

时间:2022-08-21 23:57:57浏览次数:66  
标签:读取 name img -- cv2 学习 opencv 图片

1.opencv包安装

   这里直接安装opencv-python包(非官方): pip3 install opencv-python

   以及相应的扩展包:pip3 install opencv-contrib-python

   官方文档:https://opencv-python-tutroals.readthedocs.io/en/latest/

2. opencv简单图像处理

  2.1 图像像素存储形式

    首先得了解下图像在计算机中存储形式:(为了方便画图,每列像素值都写一样了)

    对于只有黑白颜色的灰度图,为单通道,一个像素块对应矩阵中一个数字,数值为0到255, 其中0表示最暗(黑色) ,255表示最亮(白色)

    

 

    对于采用RGB模式的彩色图片,为三通道图,Red、Green、Blue三原色,按不同比例相加,一个像素块对应矩阵中的一个向量, 如[24,180, 50],分别表示三种颜色的比列, 即对应深度上的数字,如下图所示:

    

    需要注意的是,由于历史遗留问题,opencv采用BGR模式,而不是RGB

  2.2 图像读取和写入

    cv2.imread()

imread(img_path,flag) 读取图片,返回图片对象
    img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None
    flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1
          cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0
          cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1

    cv2.imshow()

复制代码
imshow(window_name,img):显示图片,窗口自适应图片大小
    window_name: 指定窗口的名字
    img:显示的图片对象
    可以指定多个窗口名称,显示多个图片
    
waitKey(millseconds)  键盘绑定事件,阻塞监听键盘按键,返回一个数字(不同按键对应的数字不同)
    millseconds: 传入时间毫秒数,在该时间内等待键盘事件;传入0时,会一直等待键盘事件
    
destroyAllWindows(window_name) 
    window_name: 需要关闭的窗口名字,不传入时关闭所有窗口
复制代码

    cv2.imwrite()

imwrite(img_path_name,img)
    img_path_name:保存的文件名
    img:文件对象

  使用示例:

 View Code

标签:读取,name,img,--,cv2,学习,opencv,图片
From: https://www.cnblogs.com/qingshuihongye/p/16611430.html

相关文章

  • SpringCloud 搭建和使用 Eureka 注册中心集群
    近年来微服务非常流行,鼎鼎大名的SpringCloud就是专门为微服务技术开发而提供的解决方案。SpringCloud是一系列框架的有序集合,它将市场上各个公司比较成熟的并且经过实......
  • 1044 [HAOI2012]ROAD dijkstra递推求最短路径数+生成反向最短路拓扑图 计算以每个点为
     链接:https://ac.nowcoder.com/acm/contest/26077/1044来源:牛客网题目描述C国有n座城市,城市之间通过m条单向道路连接。一条路径被称为最短路,当......
  • 电脑棒没有显示器解决方案
    因为我的工作电脑是一个电脑棒(见下图),没有自带的显示屏,所以只能通过远程控制。但是据说TeamViewer可能会误判为商业使用(之后就不让你免费了),于是我就打算转ToDesk。刚开始,这......
  • mysql6/视图/触发器/事务/四种隔离级别/事务日志/mvcc/内置函数/存储过程/索引/索引的
    视图触发器事务事务处理四种隔离级别事务日志MVCC内置函数存储过程索引索引的意义慢查询优化查询索引模拟视图1.什么是视图?视图是类似于临时表,由sql......
  • gitlab安装及汉化
    gitlab的安装 首先在网上下载好任意版本gitlab的rpm包推荐下面的地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm......
  • C++中函数指针使用
    类成员函数指针(memberfunctionpointer),是C++语言的一类指针数据类型,用于存储一个指定类具有给定的形参列表与返回值类型的成员函数的访问信息。一般我们是不会使用的,都......
  • splay树
    splay树概念splay树也是一种二叉查找树,同时也会通过旋转的操作保证一定的平衡。与普通的平衡树(AVL)相区别的是它可以将需要的节点不断向根节点旋转,这个过程被称作伸展......
  • C和C++的一处小知识点(小坑)
    在C语言中voidmain(){constinti=0;int*j=(int*)&i;*j=1;printf("%d,%d",i,*j);system("pause");}结果输出为1,1在C++......
  • R语言中如何将矩阵的元素全部设置为0, 取矩阵的最大值、最小值、平均值
     001、dat3<-matrix(1:16,nrow=4,byrow=T)dat3min(dat3)mean(dat3)max(dat3)dat3[]<-0##将矩阵元素全部设置为0(可以为任......
  • pbds 学习记录
    #pbds学习记录pbds库提供了一些常用的数据结构,常数上通常比对应的常用stl更快,所以值得整理一下。##堆为了使用pbds的堆,我们要使用如下头文件```cpp#inclu......