1

我正在从cvto迁移,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)
4

2 回答 2

6

我认为您只是参数顺序错误。cv2文档按以下顺序显示它们:cv2.cvtColor(src, code[, dst[, dstCn]]),这与cv中的顺序不同,顺序为:cv.CvtColor(src, dst, code)

因此,基于此,连同其他答案中有关颜色转换常量名称更改的信息,您需要使用:

cv2.cvtColor(img, cv2.COLOR_BGR2LAB, img)
于 2013-02-26T23:31:26.407 回答
5

你在寻找这个常数

cv.CV_BGR2Lab --> cv2.COLOR_BGR2LAB

并且所有其他用于颜色转换的常数都遵循类似的模式

cv.CV_<CONSTANT> --> cv2.COLOR_<CONSTANT>

我仍然没有找到一个好的来源(甚至是文档)来确定如何翻译常量。

更新:有关常量的更多信息, 请参见此处此处的讨论。

于 2013-03-11T13:32:07.843 回答