openCV-python(六)图像操作——通道拆分与合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openCV-python(六)图像操作——通道拆分与合并相关的知识,希望对你有一定的参考价值。

参考技术A 关于图像的基本操作中,对图像RGB通道的拆分与合并,本文介绍两种方式,第一种是使用opencv-python,即cv2,第二种使用Pillow即PIL模块。这里要注意的是,Pillow处理图像时,通道顺序为正常的RGB模式,但是opencv处理图像,通道顺序比较特殊,为BGR,所以这里要注意。

OpenCV-Python 第三章

第三章 对于图像的基础操作

一, 知识点

  1. 帧: 视频是由一幅幅图像组成 ,每幅图像称为帧

  2. 帧频: 每秒显示帧(一幅图像)的数量 ,单位fps(frames per second)

  3. OpenCV里面图片的色彩通道顺序是BGR,matplotlib中的顺序是RGB

二, 涉及的函数

  a. 图片

    1. cv2.imread(filename, flags)

      filename:图片文件名,注意路径问题

      flags: 可选参数

        flags = 0: 显示灰度图像

        flags = 1: 显示彩色图像(默认值 BGR)

        flags = -1: 原图且含有alpha channel信息,alpha channel是指一张图片的透明度和半透明度

    2. cv2.imshow(winname, mat)

      winname: 显示的图片窗口名称

      mat: 准备显示的图像对于的矩阵

    3. retval = cv2.waitKey([,delay])

      delay<=0时,retval=按键的ASCII码值,然后程序继续往下执行,若不按键,这程序一直停留等待被按键

      delay>0时候,若在delay时间内无按键按下,则retval=-1,反之返回按键键码

 

      64位机器中如需返回按键键码

        if cv2.waitKey(0) & 0xFF is ord(‘q‘) # q 是我们期望的按键码

          0. 对于有些系统,函数waitKey() 可能返回一个多于正常 ASCII 按键码的位数的值,但是其最后8位于正常ASCII码一样,所以我们取后8位就行

          1. ord(‘q‘): 返回单字符串的Unicode代码----8位

          2. key = cv2.waitKey(0): 延迟100毫秒,有按键则返回按键的ASCII,若不按键,程序一直等待 

    4. destroyAllWindows

      关闭所有窗口

    5. imwrite

   

 

      

 

    

以上是关于openCV-python(六)图像操作——通道拆分与合并的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV-Python3.OpenCV的图像基础操作

OpenCV-Python系列六:图像滤波

OpenCV-Python 第三章

opencv-python常用知识速查

初识OpenCV-Python - 007: 平滑图像

OpenCV-Python2.NumPy的简单操作