python rgb转lab_从RGB转换到LAB色彩空间 - 深入了解L * A * B *值的范围?

在OpenCV(Python)中将图像从RGB转换为LAB时,我无法找到有关L * A * B *值范围的文档。寻找一些确认我的见解是正确的,因为这些数字相当奇特。我的轻度结果是从0-255,但对于a和b我分别得到了42-226和20-223。我知道这些数值不需要有一个预定的范围,但是有没有人能够理解为什么选择这些范围?从RGB转换到LAB色彩空间 - 深入了解L * A * B *值的范围?

我试图在LAB空间中创建颜色直方图,并需要知道值的范围以便以节省空间的方式存储箱值。

import cv2

import numpy as np

import sys

import urllib

print cv2.__version__ # 2.4.7

print sys.version # 2.7.5+ (default, Sep 19 2013, 13:48:49) \n[GCC 4.8.1]

# Load an image that contains all possible colors.

request = urllib.urlopen('http://www.brucelindbloom.com/downloads/RGB16Million.png')

image_array = np.asarray(bytearray(request.read()), dtype=np.uint8)

image = cv2.imdecode(image_array, cv2.CV_LOAD_IMAGE_COLOR)

# I was uncertain if it was BGR or RGB but in this case it doesn't matter because

# of my input image.

lab_image = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)

l_channel,a_channel,b_channel = cv2.split(lab_image)

# Print the minimum and maximum of lightness.

print np.min(l_channel) # 0

print np.max(l_channel) # 255

# Print the minimum and maximum of a.

print np.min(a_channel) # 42

print np.max(a_channel) # 226

# Print the minimum and maximum of b.

print np.min(b_channel) # 20

print np.max(b_channel) # 223

谢谢!

+0

快速谷歌搜索给了一个在线转换器提供的源代码:http://colormine.org/convert/rgb-to-lab –

+0

感谢您的链接M4rtini。我以前看过它,但它与我的问题无关。我正在寻找为什么OpenCV的范围如此奇怪的数字。由colormine计算的范围允许a和b的正值和负值,这在OpenCV(Python)中不是这种情况。不管怎么说,多谢拉! –

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle怎么删除lob对象,Oracle系列:LOB大对象处理

Oracle系列:LOB大对象处理Oracle系列:LOB大对象处理主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。一,Or…

.NET 6 RC2 版本发布

原文:bit.ly/3FS9xm7作者:Richard日期:2021-10-12翻译:精致码农-王亮说明:文中有大量的超链接,这些链接在公众号文章中被自动剔除,一部分包含超链接列表的小段落被我删减了,如果你对…

prototype.js 和jquery-1.6.2.js冲突问题解决方法

在写项目中同时用到了jquery-1.6.2.js和prototype.js两个js文件&#xff0c;使用$的时候冲突。解决方法&#xff1a; 首先引入jquery-1.6.2.js&#xff0c;然后重定义$。 <script type"text/javascript"> js$; $aa; </script> 然后在引入prototype.…

最诡异数学悖论:1+1=1

全世界只有3.14 % 的人关注了爆炸吧知识今天&#xff0c;8岁表妹的老师给她奖励了一块大巧克力&#xff0c;超模君打趣她能不能分给我点&#xff0c;遭到残忍拒绝&#xff0c;超模君很愤怒&#xff0c;暗下决心要神不知鬼不觉地吃上表妹的巧克力。超模君趁表妹在认真做作业的时…

JS URL Parser

为什么80%的码农都做不了架构师&#xff1f;>>> /** *param {string} url 完整的URL地址 *returns {object} 自定义的对象 *description 用法示例&#xff1a;var myURL parseURL(http://abc.com:8080/dir/index.html?id255&mhello#top); myURL.fileindex.ht…

如何使用Instruments诊断App(Swift版):起步

2019独角兽企业重金招聘Python工程师标准>>> 本文由Mr_cyz&#xff08;博客&#xff09;翻译自raywenderlich&#xff0c;欢迎参与我们的翻译活动。原文&#xff1a;Instruments Tutorial with Swift: Getting Started 更新记录&#xff1a;该教程由 James Frost 更…

tcp抓包返回fin_TCP/IP学习二TCP链接建立与断开

今天详细学习下TCP链接的三次握手四次挥手&#xff0c;因为开发web服务还是会经常遇到一些网络问题的。其实这方面的资料很多&#xff0c;可能我们看过很多次但也忘了无数次[捂脸]&#xff0c;这次我主要通过抓包例子来展示这个过程。TCP传输控制协议(TransmissionControlProto…

设置vim

1、配置文件的位置 在目录 /etc/ 下面&#xff0c;有个名为vimrc的文件&#xff0c;这是系统中公共的vim配置文件&#xff0c;对所有用户都有效。而在每个用户的主目录下&#xff0c;都可以自己建立私有的配置文件&#xff0c;命名为&#xff1a;“.vimrc”。例如&#xff0…

70%的单身女孩都是这样想的!

1 父爱如山&#xff0c;山就是杵在那里一动不动&#xff01;2 3 单身的女孩不要着急4 哎呀&#xff0c;没有两条小鱼干是起不来了&#xff01;5 一分钟教你画二哈&#xff0c;这次真的厉害了&#xff01;6 披着羊皮的狼&#xff1f;&#xff1f;&#xff1f;你点的每个赞&#…

.NET基金会讨论 .NET 开源事业之路

【编者按】从闭源走向开源&#xff0c;.NET 背后都发生了哪些有趣的故事。本文采访了 6 位微软 .NET 团队成员&#xff0c;分享他们在 GitHub 以及建立 .NET 开源项目的经历。作者 | Richard Lander 译者 | 弯月出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff0…

oracle的排序分页,oracle 排序分页 高效sql语句

最好还是利用分析函数row_number() over ( partition by col1 order by col2 )比如想取出100-150条记录,按照tname排序select tname,tabtype from ( select tname,tabtype,row_number() over ( order by tname ) rn from tab)where rn between 100 and 150;2. 直接使用rownum 虚…

每天写出好代码的5个建议

成为一个优秀的程序员和成为其他优秀的专业人员一样&#xff0c;需要尽可能多的做一些有质量的工作。有句很流行的话可以总结&#xff1a;做&#xff0c;正确做事&#xff0c;立马就做&#xff08;Do it. Do it right. Do it right now&#xff09;。 0、将一天要做的事情列成清…

Process Explorer 15.2:微软增强型任务管理器

Process Explorer 是一款免费的增强型任务管理器&#xff0c;同时也是微软著名工具包Sysinternals下的组件之一。 Process Explorer 能让使用者了解看不到的在后台执行的处理程序&#xff0c;可以使用 Process Explorer 方便地管理你的程序进程。Process Explorer 已经完美的支…

python的数值类型_Python的数值类型

标签&#xff1a;如何问题&#xff1a;1. Python数值有哪些&#xff1f;2. 各类型的精度是多少&#xff1f;3. 类型的转换是如何实现的&#xff1f;5. 如何使用这些数据类型&#xff1f;需要注意什么&#xff1f;6. 什么是不可变类型&#xff1f;数值类型&#xff1a;整型&…

号称最强“抓取”工具,没有搞不到的资源!

全世界只有3.14 % 的人关注了爆炸吧知识分享一个超级好用的工具&#xff0c;绝对用心挑选&#xff0c;让你惊艳&#xff01;不仅帮你赚钱&#xff0c;还能完善生活的方方面面。“能轻松赚钱&#xff0c;真的超爽&#xff01;”好朋友雪球&#xff0c;前段时间负责一个市场营销的…

oracle cpu 100%原因,oracle 12.1 cpu 100%

查看整体负载cpu使用居高不下;基本上整体CPU是百分80%以上了;此时:物理读600MB/s,REDO也不算太高;全为latch free,一般为bug高发区检查相关SQL基本为系统SQL:4b4wp0a8dvkf0,11bzv8fm87zvr,3uqkkfu1crw8y,frjd8zfy2jfdq,8mdz49zkajhw3相关BUG:1 Frequent Execution of Recursive…

CentOS 5.5 Freeradius MySQL

CentOS 5.5 Freeradius 2.x MySQL 5.x 不解释&#xff0c;直接看配置 [rootlocalhost ~]# date Fri Jul 1 17:02:24 EDT 2011 [rootlocalhost ~]# [rootlocalhost ~]# cat freeradius.log yum update -y yum search freeradius yum -y install freeradius2 freeradius2-utils …

C#多线程开发-处理子线程中的异常

C#多线程开发-处理子线程中的异常在平时的多线程开发中&#xff0c;对于异常的处理是至关重要的&#xff0c;千万不能马虎。如果在实际的项目中&#xff0c;对于某些线程中的异常没有处理&#xff0c;会直接导致整个程序崩溃&#xff0c;软件无法使用。其中需要说明的是&#x…

matlab提速技巧(自matlab帮助文件)

matlab提速技巧&#xff08;自matlab帮助文件&#xff09; 1.首先要学会用profiler.1.1. 打开profiler.To open the Profiler, select View -> Profiler from the MATLAB desktop, or type profile viewer in the Command Window. The MATLAB Profiler opens.在我的机器上是…

GAC及其作用

http://www.cnblogs.com/smallstone/archive/2010/06/29/1767508.html 一、GAC的作用 全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly&#xff0c;例如System.Data、System.Windows.Forms等等。这样&#xff0c;很多程序就可以从GAC里面取得…