Opencv 如何调整cvtColor grayscale函数,使其保持RGB的尺寸
功能:cv2.CVT颜色(img,cv2.COLOR\U BGR2GRAY)Opencv 如何调整cvtColor grayscale函数,使其保持RGB的尺寸,opencv,computer-vision,tensorflow,Opencv,Computer Vision,Tensorflow,功能:cv2.CVT颜色(img,cv2.COLOR\U BGR2GRAY) 如果我输入一个32x32x3图像(3代表R/G/B),它将输出一个32x32图像。但是,我需要它返回一个32x32x1图像,这样我就可以将它用于tensorflow。如何调整函数?在TensorFlow中,可以使用操作或TensorFlow索引运算符将32x32矩阵转换为32x32x1张量: img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_tensor = tf.cons
如果我输入一个32x32x3图像(3代表R/G/B),它将输出一个32x32图像。但是,我需要它返回一个32x32x1图像,这样我就可以将它用于tensorflow。如何调整函数?在TensorFlow中,可以使用操作或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]
在TensorFlow中,可以使用操作或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]
这同样有效
这也可以您好,32x32是1位深度图像。您好,32x32是1位深度图像。谢谢。我在预处理步骤中进行灰度转换,所以我还不想涉及tf。没有tf还有其他方法吗?当然,你也可以用同样的方法在NumPy中完成(见更新的答案)。谢谢。我在预处理步骤中进行灰度转换,所以我还不想涉及tf。在没有tf的情况下还有其他方法吗?当然,在NumPy中也可以用同样的方法完成(见更新的答案)。