调用cv2.cvtColor报错:找不到COLOR_BGR2GBGR属性,求解决方案
解决cv2.cvtColor抛出的AttributeError问题
嘿,我一眼就发现问题所在啦——你只是不小心打错了OpenCV颜色转换常量的名称!
错误原因分析
你代码里写的cv2.COLOR_BGR2GBGR是一个不存在的常量,OpenCV的cv2模块里根本没有这个属性,这就是为什么会抛出AttributeError: 'module' object has no attribute 'COLOR_BGR2GBGR'。
你真正想要的应该是将BGR格式的图像帧转换成灰度图的官方常量:cv2.COLOR_BGR2GRAY,明显是多敲了一个字母B。
修正后的代码
把出错的代码行替换成下面这行就可以正常运行了:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
小技巧:快速查找OpenCV颜色常量
如果以后记不清这类常量的正确名称,可以在Python环境里运行下面的代码,列出所有OpenCV中包含COLOR的常量,方便你快速定位需要的转换类型:
print([item for item in dir(cv2) if 'COLOR' in item])
内容的提问来源于stack exchange,提问作者UnbreakableMystic
相关产品推荐
相关产品推荐

