Opencv 我想将带有形状的灰度(无,224)转换为(224,3)

Opencv 我想将带有形状的灰度(无,224)转换为(224,3),opencv,grayscale,Opencv,Grayscale,我试图在将一组图像传递到CNN模型之前对其进行预处理,我必须将其转换为灰度,因为我的模型我的模型需要,问题是当我保存转换后的图像并加载它时,它可以正常工作,没有任何错误,因为形状是(244244,3),但如果我将其直接传递到模型,图像的形状是(无,224)并产生以下错误: ValueError:层sequential_5的输入0与层不兼容::预期的最小值ndim=4,找到的ndim=3。收到完整形状:(无,224,224) 代码是: gray = cv2.cvtColor(crop_im

我试图在将一组图像传递到CNN模型之前对其进行预处理,我必须将其转换为灰度,因为我的模型我的模型需要,问题是当我保存转换后的图像并加载它时,它可以正常工作,没有任何错误,因为形状是(244244,3),但如果我将其直接传递到模型,图像的形状是(无,224)并产生以下错误:

ValueError:层sequential_5的输入0与层不兼容::预期的最小值ndim=4,找到的ndim=3。收到完整形状:(无,224,224)

代码是:

    gray = cv2.cvtColor(crop_img, cv2.COLOR_BGR2GRAY)
    resized_image = cv2.resize(crop_img, (224, 224))
    frames.append(resized_image)
    cv2.imwrite("/Users/naimahalaqeel/Documents/graduation project/toArabicText/test2/%d.jpg" % count2, resized_image)
    count2 = count2 +1
    success,image = vidcap.read()
    count+=1

afterPrecceseFrames = np.array(frames)
predicted_classes = model.predict_classes(afterPrecceseFrames)
    

我认为您正在使用
cv2.resize()
crop\u img
而不是
gray
。这就是问题所在