我尝试下面的代码:
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输出的形状改变了? 谢谢