从python中的数字识别脚本处理公认的数字

时间:2018-03-29 15:11:45

标签: python opencv scikit-learn scikit-image

我在python中有一个可行的数字识别脚本,可以工作并产生这个结果enter image description here

这是使用opencv,sklearn和skimage创建的。如何将识别的图像保存在文件中以便稍后在不同的计算中使用?

1 个答案:

答案 0 :(得分:0)

您需要将原始图像的裁剪保存为单独的文件。如果没有看到您的代码,就无法确定如何存储庄稼,但您需要访问用于绘制绿色矩形的值。然后,可以使用相同的绘制绿色矩形值来通过切割图像来保存图像裁剪。

如果您使用opencv cv2.rectangle()函数绘制框,则表示您拥有矩形的左上角和右下角。但是,numpy切片的格式为:

crop_image = image[y:y+h, x:x+w]

因此,您必须计算高度和宽度值(即height = (xmax - xmin) + xmin和宽度相同)。

再次,因为你没有代码显示我的猜测是你有一个绘制框的循环。如果是cv2.rectange()函数下面的情况,你可以写:

crop_image = image[ymin: (ymax-ymin)+ymin, xmin: (max-min)+xmin]
cv2.imwrite('images/prediction_'+predicted_value+'_'+count+'.jpg', crop_image)

在您的代码中引用此方法以获取xmin / xmax / ymin / ymax值:

cv2.rectange(img, (xmin, ymin), (xmax, ymax), (R, G, B), Thickness)

如果图像是输入图像,则执行预测,predict_value是您为数字做出的预测,计数是确保您不覆盖文件的基本计数。您可以使用for循环中的枚举函数来获取此值:ie for count, x in enumerate(data)

输出文件将保存到名为images的文件夹中(假设您之前已创建此文件)并且文件名称如下:

prediction_3_0.jpg
prediction_4_1.jpg
prediction_2_2.jpg
prediction_3_3.jpg
prediction_5_4.jpg

这样当你回读它们时,你知道预测的数字是多少。如果我的任何假设都是错误的,请告诉我,我可以编辑答案。