Я пробую код ниже:
from PIL import Image
import cv2
import numpy as np
import io
.....
buf = io.BytesIO(ret.content)
image = Image.open(buf)
# result is (25,150,3)
print(np.asarray(image).shape)
img = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# result is (25,150)
print(np.asarray(gray).shape)
Первый результат печати (25,150,3), а второй (25,150).
Но я пробую код ниже
imagePixel = cv2.imread(path, 1)
print(np.asarray(imagePixel).shape)
_, X_test = cv2.threshold(imagePixel, 96, 255, cv2.THRESH_BINARY)
print(np.asarray(X_test).shape)
Два вывода: (25,150,3)
Я хочу получить форму изображения (25,150,3), но я не знаю, как исправить первый фрагмент кода. Я не знаю, почему изменилась форма вывода из cv2.cvtColor? Спасибо