前言
一、常见色彩空间
- 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()
实验结果