我正在从cv
迁移到cv2
,并且很难找到等效的cv.CvtColor
函数。
我在文档中读到cv2.cvtColor
存在,但我不知道如何使用第三个参数。cv2.CV_BGR2Lab
不存在。 cv2.CV2_BGR2Lab
也没有,当我使用cv.CV_BGR2Lab
时,我得到的只是一个错误:cv2.cvtColor(img, img, cv.CV_BGR2Lab)
TypeError: only length-1 arrays can be converted to Python scalars
产生问题的简单代码:
img = cv2.imread(path)
cv2.cvtColor(img, img, cv.CV_BGR2Lab)
最佳答案
我认为您的参数顺序错误。 cv2 docs以此顺序显示它们:cv2.cvtColor(src, code[, dst[, dstCn]])
,这与cv中的顺序不同:cv.CvtColor(src, dst, code)
。
因此,基于此,再加上其他answer中有关颜色转换常量名称更改的信息,您需要使用:
cv2.cvtColor(img, cv2.COLOR_BGR2LAB, img)
关于python - 使用CV2进行色彩空间转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15100913/