功能:cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
如果输入32x32x3图像(R / G / B为3),则输出32x32图像。但是,我需要它来返回一个32x32x1图像,以便我可以将它用于tensorflow。如何调整功能?
答案 0 :(得分:3)
在TensorFlow中,您可以使用tf.expand_dims(img, 2)
操作或TensorFlow索引操作符将32x32矩阵转换为32x32x1张量:
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_tensor = tf.constant(img)
img_expanded = tf.expand_dims(img, 2) # or `img[:, :, tf.newaxis]`
使用NumPy索引可以实现同样的目的:
import numpy as np
# ...
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_expanded = img[:, :, np.newaxis]
答案 1 :(得分:0)
import numpy as np
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_expanded = img[np.newaxis,:, :, np.newaxis]
这也有效