小编abi*_*bol的帖子

cv.COLOR_BGR2LAB 给出错误的范围

在下面的代码中,我使用一个 4096*4096 像素的 png 图像,其中包括所有可能的 RGB 颜色(不是相同像素的两倍,可以在此处找到http://allrgb.com/starry-night)然后我将 RGB 值转换为LAB 值,我检查每个通道的范围

import cv2 as cv
import numpy as np

im=cv.imread('allrgb.png')


im=im.astype(np.uint8)

colors_lab=cv.cvtColor(im,cv.COLOR_BGR2LAB)

m=np.amin(colors_lab[...,...,0])    
Run Code Online (Sandbox Code Playgroud)

结果如下:

如果原始图像的类型为 uint8,则 R[0,255],G[0,255],B[0,255] 给出 L[0,255],A[42,226],B[20,223]

如果原始图像的类型为 float32,则 R[0,1],G[0,1],B[0,1] 给出 L[0,100],A[-86.1813,98.2351],B[-107.862,94.4758]

无论如何,实验室范围从来都不是预期的范围,这是由开放的简历文档给出的

知道如何解释吗?

python opencv colors spyder cielab

4
推荐指数
1
解决办法
8214
查看次数

标签 统计

cielab ×1

colors ×1

opencv ×1

python ×1

spyder ×1