为什么cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)的输出形状改变了?

时间:2019-11-07 08:12:58

标签: python opencv

我尝试下面的代码:

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输出的形状改变了? 谢谢

0 个答案:

没有答案