我无法获得RGB的灰度图像,这是我的代码:
img=cv2.imread("clahe_2.jpg")
backtorgb = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)
showImg(backtorgb,"claheCLR")
此错误返回:
backtorgb = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)
cv2.error: /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/color.cpp:9765: error: (-215) scn == 1 && (dcn == 3 || dcn == 4) in function cvtColor
文件路径正确。 有什么建议吗?
答案 0 :(得分:1)
我认为问题是您的图像不是真正的灰度。它是RGB,但可见为灰度。因此需要从图像中提取一个通道,然后运行代码:
backtorgb = cv2.cvtColor(img[..., 0], cv2.COLOR_GRAY2RGB)
答案 1 :(得分:0)
默认情况下,imread
将图像以3通道BGR图像的形式打开,因此您无需将其转换,如果您要的就是将其转换为RGB。
查看文档here
答案 2 :(得分:0)