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