Я пытаюсь преобразовать цветное изображение (RGB, 24 бит, PNG) в оттенки серого, используя OpenCV. Но я получаю неожиданные результаты. Я испробовал следующие 3 подхода, которые все дают одинаковый результат.
Метод 1:
img=cv2.imread(file)
img=cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
plt.imshow(img)
temp=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(temp)
Метод 2:
img=cv2.imread(file)
plt.imshow(img)
temp=cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
plt.imshow(temp)
Метод 3:
img=cv2.imread(file,0)
img=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(img)
Исходное изображение:
Изображение, которое я получаю после приведенных выше преобразований:
Я предполагаю, что проблема заключается в каналах (BGR по умолчанию для OpenCV imread). Мне нужно правильное изображение в градациях серого. Любая помощь приветствуется. Спасибо!