博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rgb和Lab,rgb和hsl的色彩空间转换
阅读量:4156 次
发布时间:2019-05-25

本文共 1274 字,大约阅读时间需要 4 分钟。

博主欢迎转载,但请一定要给出原文链接,标注出处!!!谢谢~

特别不喜欢那些随便转载别人的原创文章又不给出链接的
所以不准偷偷复制博主的博客噢~~

色彩空间转换

最近因为一直在涉及图形处理方面的东西,所以免不了要涉及到色彩的转化,网上找了合适的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 LABrgb=[123,245,211]lab=LAB.rgb2lab(rgb)rgb=LAB.lab2rgb(lab)

多个色彩转换

import LABimport numpy as npcolors=np.random.randint(0,255,size=(900*600,3))labs=LAB.rgb2lab_matrix(colors)rgbs=LAB.lab2rgb_matrix(labs)

rgb2hsl,hsl2rgb

单个色彩转换

import HSLrgb=[123,245,211]hsl=HSL.rgb2hsl(rgb)rgb=HSL.hsl2rgb(hsl)

多个色彩转换

import LABimport numpy as npcolors=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 |

代码地址

你可能感兴趣的文章
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Android 的source (需安装 git repo)
查看>>
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Simple Guide to use the gdb tool in Android environment
查看>>
Netconsole to capture the log
查看>>
Build GingerBread on 32 bit machine.
查看>>
How to make SD Card world wide writable
查看>>
Detecting Memory Leaks in Kernel
查看>>
Linux initial RAM disk (initrd) overview
查看>>
Timestamping Linux kernel printk output in dmesg for fun and profit
查看>>
There's Much More than Intel/AMD Inside
查看>>
CentOS7 安装MySQL 5.6.43
查看>>
使用Java 导入/导出 Excel ----Jakarta POI
查看>>
本地tomcat 服务器内存不足
查看>>
IntelliJ IDAE 2018.2 汉化
查看>>
Openwrt源码下载与编译
查看>>