使用open cv python,我试图使用cv2.cvtclor将RGB图像转换为YCbCr,然而出现了错误“名称‘CV_BGR2YCrCb’未定义”。请问有什么解决办法吗?
你需要执行以下操作:
imgYCC = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
COLOR_BGR2YCR_CB
,而非 CV_BGR2YCrCb
。OpenCV的Python绑定与C++常量不使用相同的标志值(更多细节请参见此其他答案)。传递的正确标志值是cv2.COLOR_BGR2YCR_CB
。您可以像这样调用cvtColor
:
im = cv2.cvtColor(bgr, cv2.COLOR_BGR2YCR_CB)
import cv2; print(cv2.COLOR_BGR2YCR_CV)
OpenCV读取图像为BGR格式,如果需要RGB图像,则必须将图像转换为其RGB形式,然后才能执行任务。您可以按如下方式使用:
YCrCb = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB) (# if input image is BGR)
YCrCb = cv2.cvtColor(img, cv2.COLOR_RGB2YCrCb) (# if input image is RGB)