в следующем коде, я использую PNG-изображение 4096 * 4096 пикселей, которое включает в себя все возможные цвета RGB (не в два раза один и тот же пиксель, можно найти здесь http://allrgb.com/starry-night) Затем я конвертирую значения RGB в значения LAB и проверить диапазон каждого из каналовcv.COLOR_BGR2LAB дает неправильный диапазон
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])
результаты следующие:
если исходное изображение имеет тип uint8, R [0,255], G [0255], 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]
в любом случае диапазон Lab никогда ожидаемый один, который дается открытая CV документации
Любая идея, как это объяснить?