如何在python中使用openCv在检测部分绘制矩形?

时间:2019-07-18 08:17:37

标签: python opencv keras

我创建了一个模型,该模型将normal_car与cop_car进行分类

如果我将图像传递到model,它将给出正确的输出

但是当图像有很多对象时,如何在其上绘制矩形 这两个(标签-:normal_Carpolice_Car

我可以在每个对象的图像上绘制一个矩形(但无需使用模型)

该怎么做?

非常感谢

1 个答案:

答案 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*)))

现在,您可以精确找到所找到的对象及其位置,绘制矩形并将其放置为文本