【发布时间】:2014-04-12 08:22:04
【问题描述】:
我正在用 python 做一个手势识别项目。所以使用 LAB 颜色空间将有助于提高识别的准确性,因为我们知道我们的肤色主要由红色和黄色的比例组成,在 Lαβ 颜色空间的情况下,α 分量代表像素分量在红色之间的位置和绿色,而 β 分量代表黄色和蓝色之间,使其不易受噪声影响。 但问题是,当我尝试使用 opencv 中提供的阈值函数将 Lab 图像转换为二进制时,它返回了一些错误,因为阈值函数的输入应该是灰度图像。有人知道如何解决这个问题吗?
lab = cv2.cvtColor(img,cv2.COLOR_BGR2LAB)
blur = cv2.GaussianBlur(gray,(5,5),0)
ret,thresh1 = cv2.threshold(blur,70,255,cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU)
返回的错误是断言失败。
有人知道如何对 LAB 图像进行阈值处理吗?
【问题讨论】:
-
我严重怀疑 otsu 是否适用于 Lab 色彩空间。另一个问题是,虽然我对 Python 的理解相当基本,但你是在尝试对灰度图像或实验室图像进行阈值处理吗?这是因为在您转换和创建图像实验室之后,您从未使用过它,并且当您对其进行模糊处理时,不知从何而来的图像是灰色的。
标签: python opencv image-processing lab-color-space