OpenCV-Day-009:不同色彩空间的转换

前言

一、常见色彩空间

  • RGB色彩空间
  • HSV色彩空间
    HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,这个模型中颜色的参数分别是:色调(H, Hue)饱和度(S,Saturation)明度(V, Value)
    2.利用openCV中cvSplit函数的在选择图像IPL_DEPTH_32F类型时,H取值范围是0-360,S取值范围是0-1(0%-100%),V取值范围是0-1(0%-100%)。
    3.利用openCV中cvSplit函数的在选择图像IPL_DEPTH_8UC类型时,H取值范围是0-180,S取值范围是0-255,V取值范围是0-255。
  • YUV色彩空间
  • YCrCb色彩空间

二、相关函数

  • 色彩空间转换cvtColor
  • 提取指定色彩范围区域inRange

代码

import cv2 as cv

src = cv.imread('./bird.jpg', cv.IMREAD_COLOR)
cv.imshow('input', src)
# RGB to HSV
hsv = cv.cvtColor(src, cv.COLOR_RGB2HSV)
cv.imshow('hsv', hsv)
# RGB to YUV
yuv = cv.cvtColor(src, cv.COLOR_RGB2HSV)
cv.imshow('yuv', yuv)
# RGB to YCrCb
ycrcb = cv.cvtColor(src, cv.COLOR_RGB2YCrCb)
cv.imshow('ycrcb', ycrcb)
# 函数cv.inRange()
mask = cv.inRange(hsv, (35, 43, 46), (99, 255, 255))
dst = cv.bitwise_and(src, src, mask=mask)
cv.imshow('mask', mask)
cv.imshow('dst', dst)

cv.waitKey(0)
cv.destroyAllWindows()

实验结果

在这里插入图片描述
在这里插入图片描述

发布了197 篇原创文章 · 获赞 35 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/PoGeN1/article/details/90522639
今日推荐