rgb和Lab,rgb和hsl的色彩空间转换
2017-11-15 15:11
423 查看
博主欢迎转载,但请一定要给出原文链接,标注出处!!!谢谢~
http://blog.csdn.net/sunny_xsc1994/article/details/78541079
特别不喜欢那些随便转载别人的原创文章又不给出链接的
所以不准偷偷复制博主的博客噢~~
但是在用的时候,一般对于一张图来说,至少几十万的像素点,一个个的像素点转化太费时间了。因此,索性重写了转化代码,可以对n个色彩同时进行转化,采用矩阵运算,速度飞快。
代码是python的,需要有numpy环境,代码下载地址见文章最后。
RGB:0…255
LAB:
HSL:
多个色彩转换
多个色彩转换
时间比较
n为600*900大小的数据,可以发现,矩阵运算速度是真的快。
http://blog.csdn.net/sunny_xsc1994/article/details/78541079
特别不喜欢那些随便转载别人的原创文章又不给出链接的
所以不准偷偷复制博主的博客噢~~
色彩空间转换
最近因为一直在涉及图形处理方面的东西,所以免不了要涉及到色彩的转化,网上找了合适的rgb2lab以及rgb2hsl的代码。但是在用的时候,一般对于一张图来说,至少几十万的像素点,一个个的像素点转化太费时间了。因此,索性重写了转化代码,可以对n个色彩同时进行转化,采用矩阵运算,速度飞快。
代码是python的,需要有numpy环境,代码下载地址见文章最后。
RGB:0…255
LAB:
L:Lightness 0...100 A: -128...127 B: -128...127
HSL:
h(float): hue 0...1 s(float): Saturation 0...1 (0=toward grey, 1=pure color) l(float): Lightness 0...1 (0=black 0.5=pure color 1=white)
rgb2lab,lab2rgb
单个色彩转换import LAB rgb=[123,245,211] lab=LAB.rgb2lab(rgb) rgb=LAB.lab2rgb(lab)
多个色彩转换
import LAB import numpy as np colors=np.random.randint(0,255,size=(900*600,3)) labs=LAB.rgb2lab_matrix(colors) rgbs=LAB.lab2rgb_matrix(labs)
rgb2hsl,hsl2rgb
单个色彩转换import HSL rgb=[123,245,211] hsl=HSL.rgb2hsl(rgb) rgb=HSL.hsl2rgb(hsl)
多个色彩转换
import LAB import numpy as np colors=np.random.randint(0,255,size=(900*600,3)) hsls=LAB.rgb2hsl_matrix(colors) rgbs=LAB.hsl2rgb_matrix(hsls)
时间比较
n为600*900大小的数据,可以发现,矩阵运算速度是真的快。
| time | single for n times | matrix | | -------- |:------------------:|:------:| | rgb2lab | 5.923s | 0.234s | | lab2rgb | 7.313s | 0.235s | | | | | | rgb2hsl | 4.782s | 0.156s | | hsl2rgb | 3.249s | 0.140s |
代码地址
请戳github相关文章推荐
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- 颜色空间:RGB,CMY,HSV,HSL,Lab详解
- 颜色空间:RGB,CMY,HSV,HSL,Lab详解
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型(转)
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型