更改色彩空间中的函数简述

发布时间:2019-06-05 21:16:07编辑:auto阅读(1934)

      

    本文是学习opencv-python官方教程的函数总结
    • cv2.cvtColor(src, dst, code, dstCn)
      参数:
      src:输入图像
      dst:输出图像,与输入图像具有相同大小和深度
      code:色彩空间转换代码,例如cv2.COLOR_BGR2GRAY等
      dstCn:目标图像中的通道数;默认参数为0,从src和code自动导出通道

      介绍:
      改变图像的色彩空间

      opencv-python中的运用:
      gray = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY)
    • cv2.inRange(src, lowerb, upperb, dst)
      参数:
      src:输入图像
      lowerb:下边界
      upperb:上边界
      dst:输出图像,和输入具有一样的尺寸,类型为CV_8U

      介绍:
      对于一副图像,把所有介于下边界和上边界的值替换为255,其余替换为0

      opencv-python中的运用:
      lower_blue = np.array([110, 50, 50])
      upper_blue = np.array([130, 255, 255])
      mask = cv.inRange(hsv, lowe_blue, upper_blue)
      采取自opencv官方教程,获取图像的蓝色区域
    • cv2.bitwise_and(src1, src2, dst, mask)
      参数:
      src1:第一个输入矩阵
      src2:第二个输入矩阵
      dst:输出矩阵,和输入矩阵一样的尺寸和类型
      mask:可选操作掩码,8位单通道数组,指定要更改的输出数组的元素。

      介绍:
      计算两个矩阵的按位连接。(并运算)
      dst(I) = src1(I) ^ src2(I) if mask(I) != 0
      例如src1(I) = 5 = 101(b), src2(I) = 6 = 110(b),则dst(I) = 100(b) = 4

      opencv-python中的运用:
      res = cv2.bitwise_and(frame, frame, mask=mask)

      扩展:
      cv2.bitwise_not(src, dst, mask) 反转数组的每一位(异运算)
      cv2.bitwise_or(src1, src2, dst, mask) 计算两个矩阵每个元素析取(或运算)
      cv2.bitwise_xor(src1, src2, dst, mask) 计算两个矩阵每个元素的异或运算
    有不对的地方请指正。

关键字