我创建了一个模型,该模型将normal_car与cop_car进行分类
如果我将图像传递到model
,它将给出正确的输出
但是当图像有很多对象时,如何在其上绘制矩形
这两个(标签-:normal_Car
,police_Car
)
我可以在每个对象的图像上绘制一个矩形(但无需使用模型)
该怎么做?
非常感谢
答案 0 :(得分:1)
当您在图像中找到对象时,OpenCV会为您提供位置。您将裁剪并通过预训练的模型进行预测。
1)您可以加载H5文件模型或冻结的文件。
对于考试:
model = load_model("modelname.h5")
2)在图像中查找对象并提取对象位置(x,y,w,h)
(_, Contours ,_) = cv2.findContours(Image,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
for area in Contours:
(x, y, w, h) = cv2.boundingRect(area)
ObjROI = Image[y : y+h, x : x+w]
p = model.predict(cv2.resize(ObjROI, (*Size of CNN input*)))
现在,您可以精确找到所找到的对象及其位置,绘制矩形并将其放置为文本