常用的色板

1. 说明

 有时候需要从图像中判断某种颜色,或者获取某个颜色区域,此时常用HSV色板判断。因为在HSV的色彩空间中,只需要判断颜色通道即可。本篇介绍HSV色板,及其在python中的转换和使用方法。

2. 色板

(1) RGB

 三个通道,红色Red, 绿色Green, 蓝色Blue,值越大颜色越大,当三个值都大时为白色,三个值都为0时为黑色。

(1) HSV

 三个通道,HSV(Hue, Saturation, Value)是根据颜色的直观特性创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

(1) GRAY
 灰度图,只有一个通道。

3. 图示代码

import cv2 as cv
from matplotlib import pyplot as plt
% matplotlib inline

img = cv.imread('/tmp/ff.jpeg')
rgb = cv.cvtColor(img, cv.COLOR_BGR2RGB)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)
plt.figure(figsize=(9,7), dpi=800)
plt.subplot(3, 3, 1), plt.imshow(rgb), plt.title("base")
plt.subplot(3, 3, 2), plt.imshow(rgb[:,:,0],'gray'), plt.title("red")
plt.subplot(3, 3, 3), plt.imshow(rgb[:,:,1],'gray'), plt.title("green")
plt.subplot(3, 3, 4), plt.imshow(rgb[:,:,2],'gray'), plt.title("blue")
plt.subplot(3, 3, 5), plt.imshow(gray,'gray'), plt.title("gray")
plt.subplot(3, 3, 6), plt.imshow(hsv[:,:,0],'gray'), plt.title("H")
plt.subplot(3, 3, 7), plt.imshow(hsv[:,:,1],'gray'), plt.title("S")
plt.subplot(3, 3, 8), plt.imshow(hsv[:,:,2],'gray'), plt.title("V")
plt.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9, hspace=0.1, wspace=0.3)

plt.show()

4. 图示效果

5. 分析

 这里大多数的图和想象中差不多,比较特别的是H图,可以看到同样的底色白色,在H图中显示出很大差异。

 在判断一些图像成份时,可以采取多种标准,比如用灰度图(gray)或者亮度图(V)判断其是否为白色或浅色,而在颜色较深的区域再去判断其具体然调(H)

 当V大而S小时,即是白色。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值