简介
主要是通过python的opencv进行模板匹配识别到想要得到的物体;
然后通过opencv进行裁切图片,得到最终需要的图片
核心内容
①模板匹配,带有nms的模板匹配
②批量处理图片,并保存
代码
import os
import cv2
import time
import numpy as np
def py_nms(dets, thresh):
"""Pure Python NMS baseline."""
# x1、y1、x2、y2、以及score赋值
# (x1、y1)(x2、y2)为box的左上和右下角标
x1 = dets[:, 0]
y1 = dets[:, 1]#左上角的坐标值
x2 = dets[:, 2]
y2 = dets[:, 3]#右下角的阈值
scores = dets[:, 4]
# 每一个候选框的面积
areas = (x2 - x1 + 1) * (y2 - y1 + 1)
# order是按照score降序排序的,从大到小
order = scores.argsort()[::-1]
# print("order:",order)
keep = []
while order.size > 0:
i = order[0]
keep.append(i)
# 计算当前概率最大矩形框与其他矩形框的相交框的坐标,会用到numpy的broadcast机制,得到的是向量
xx1 = np.maximum(x1[i], x1[order[1:]])
yy1 =