首页 > 解决方案 > using bgr2gray in python are not modifing to gray

问题描述

I am importing an image in python using opencv and trying to change it to grayscale, but it won't change and it returns back in a hue like colors

def grayscale(img):
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    return img

img = grayscale(X_train[1000])
plt.imshow(img)
plt.axis("off")

标签: pythoncv2grayscale

解决方案


您正在正确转换灰色。您看到的“类色调”颜色是对plt.imshow()二维图像使用默认调色板的结果。你第一次遇到它时会感到惊讶。matplotlib 表现出这种行为的原因在imshow文档中有所暗示。

尝试

plt.imshow(img, cmap='gray')

推荐阅读