ZJ-在线取色器的使用(RGB值转HSV值)
通过在线取色器,可获得图片中某点的颜色深度,进一步可得到各种格式(如HSV)的数值范围。
·
概要:通过在线取色器,可获得图片中某点的RGB格式的颜色值,进一步可通过py文件转换,得到各种格式(如HSV)的数值范围。
-
首先我们给出在线取色器的地址:
PC端:http://www.jiniannet.com/Page/allcolor
移动端:http://m.jiniannet.com/Page/allcolor -
在取色器中上传图片文件,点击图片中的任意位置,便可获得该点对应的RGB值。
-
我们获取4个点的RGB值,并将其一起输入到下面的py文件。然后我们通过py文件,将获取的RGB格式的颜色值转换为HSV格式的H、S、V值的上下限。当然,首先你要
pip install opencv-python
,pip install numpy
。代码如下:
# 取色器
# http://www.jiniannet.com/Page/allcolor
# 将获取的四个点的rgb值填入下方的rgb,即可得到四个点的hsv上下限
import cv2
import numpy as np
rgb = '#5C9CC0,#0775A8,#84A7BD,#346188'
rgb = rgb.split(',')
# 转换为BGR格式,并将16进制转换为10进制
bgr = [[int(r[5:7], 16), int(r[3:5], 16), int(r[1:3], 16)] for r in rgb]
# 转换为HSV格式
hsv = [list(cv2.cvtColor(np.uint8([[b]]), cv2.COLOR_BGR2HSV)[0][0]) for b in bgr]
hsv = np.array(hsv)
print('H:', min(hsv[:, 0]), max(hsv[:, 0]))
print('S:', min(hsv[:, 1]), max(hsv[:, 1]))
print('V:', min(hsv[:, 2]), max(hsv[:, 2]))
- 输出为:
至此,我们分别得到了这四个点的H、S、V值的上下限。
参考文献
1、颜色空间的小数据,大不同的颜色天地
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)