我正在尝试使用keras训练ocr的CNN模型。我对图像进行了预处理,方法是将其转换为灰度,去除噪声然后将其转换为二进制,因为二进制图像在ocr中效果更好。但是我得到的问题是二进制图像具有2维,没有通道维,而keras中的conv2d(一般来说,任何conv层)都需要3维。那么,我应该怎么做才能添加尺寸但保持图像二进制?我正在使用cv2进行图像处理,因此请最好告诉使用该解决方案。还告诉我是否正确,使用二进制图像数据集更适合ocr。
答案 0 :(得分:0)
我找到了解决方案。我使用numpy函数numpy.expand_dims()添加空尺寸。因此它变成(width,height,1)。这是我所做的:-
img = np.expand_dims(img,axis=2)