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

2023-01-31 00:01:20 函数 更改 简述

  

本文是学习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) 计算两个矩阵每个元素的异或运算
有不对的地方请指正。

相关文章