下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、原理1.1 相似度度量指标 1.2 计算步骤Templa+1)。(w、代码实现2.1 单模板匹配单个标# 相关系数匹配法: cv2.TM_CCOEFFres = cv2.matchTemplate(img, template, cv2.TM_CCOEFF)min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)left_top = max_loc # 左上right_bottom = (left_top0 + w,left_top1 + h) # 右下cv2.rectangle(img, left_top, right_bottom, 2
2、55, 2) # 画出矩形位置plt.subplot(121), plt.imshow(res, cmap=gray)plt.title(Matching Result), plt.xticks(), plt.yticks()plt.subplot(122), plt.imshow(img, cmap=gray)plt.title(Detected Point), plt.xticks(), plt.yticks()plt.show()2.2 单模板匹配多个标import cv2import numpy as npimg_rgb = cv2.imread(mario.jpg)img_gray
3、= cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)template = cv2.imread(mario_coin.jpg, 0)h, w = template.shape:2res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)threshold = 0.8# 取匹配程度于%80的坐标loc = np.where(res = threshold)返回的坐标值(x,y)是,注意h,w的顺序for pt in zip(*loc:-1):bottom_right = (pt0 + w,p
4、t1 + h)cv2.rectangle(img_rgb, pt, bottom_right, (0, 0, 255), 2)cv2.imwrite(img.jpg,img_rgb)cv2.imshow(img, img_rgb)cv2.waitKey(0)3、算法精度优化NMS BSBDBIoUBBimport cv2import timeimport numpy as npdef py_nms(dets, thresh):Pure Python NMS baseline.#x1、y1、x2、y2、以及score赋值# (x1、y1)(x2、y2)为box的左上和右下标x1 = dets:,
5、 0y1 = dets:, 1x2 = dets:, 2y2 = dets:, 3scores = dets:, 4#每个候选框的积areas = (x2 - x1 + 1) * (y2 - y1 + 1)#order是按照score降序排序的order = scores.argsort():-1# print(order:,order)keep = while order.size 0:i = order0keep.append(i)#计算当前概率最矩形框与其他矩形框的相交框的坐标,会到numpy的broadcast机制,得到的是向量xx1 = np.maximum(x1i, x1order
6、1:)yy1 = np.maximum(y1i, y1order1:)xx2 = np.minimum(x2i, x2order1:)yy2 = np.minimum(y2i, y2order1:)#计算相交框的积,注意矩形框不相交时或算出来会是负数,代替w = np.maximum(0.0, xx2 - xx1 + 1)h = np.maximum(0.0, yy2 - yy1 + 1)inter = w * h#计算重叠度IOU:重叠积/(积1+积重叠积)ovr = inter / (areasi + areasorder1: - inter)#找到重叠度不于阈值的矩形框索引inds =
7、np.where(ovr = template_threshold)#于模板阈值的标坐标score = resres = template_threshold# 于模板阈值的标置信度#将模板数据坐标进处理成左上、右下的格式xmin = np.array(loc1)ymin = np.array(loc0)xmax = xmin+wymax = ymin+hxmin = xmin.reshape(-1,1)#变成列维度xmax = xmax.reshape(-1,1)#变成列维度ymax = ymax.reshape(-1,1)#变成列维度ymin = ymin.reshape(-1,1)#变成
8、列维度score = score.reshape(-1,1)#变成列维度data_hlist = data_hlist.append(xmin)data_hlist.append(ymin)data_hlist.append(xmax)data_hlist.append(ymax)data_hlist.append(score)data_hstack = np.hstack(data_hlist)# 将xmin、ymin、xmax、yamx、scores按照列进拼接thresh = 0.3#NMS的IOU交互阈值keep_dets = py_nms(data_hstack, thresh)pr
9、int(nms time:,time.time() - start_time)# 打印数据处理到nms运时间dets = data_hstackkeep_dets# 最终的nms获得的矩形框return detsif _name_ = _main_:img_rgb = cv2.imread(mario.jpg)#需要检测的图img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)#转化成灰template_img = cv2.imread(mario_coin.jpg, 0)#模板图template_threshold = 0.8#模板置信度dets = template(img_gray,template_img,template_threshold)cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购申请审批制度
- 重大设计变更审批制度
- 金水区工程项目审批制度
- 铁岭市工程建设审批制度
- 银行审查审批保密制度
- 销售折扣审批制度及流程
- 长葛学校财务审批制度
- 防突设计审批制度
- 集体决策审批制度
- 零件采购审批制度
- (2025)CSCO小细胞肺癌诊疗指南
- 《建设工程设计优化服务标准》
- 2025建安杯信息通信建设行业安全竞赛题库及答案
- 省委党校研究生现代管理学试题及答案
- 国资委问题清单及整改措施
- 输液导管相关静脉血栓形成防治中国专家共识解读
- 上海市2025届中考道德与法治真题(含答案)
- 煤矿变电所试题及答案
- 2025年向量数据库白皮书
- 用浮的材料造船说课课件
- 2025年检察院司法辅助人员考试试题+答案
评论
0/150
提交评论