下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境电商平台广告位租赁合同协议2026年
- 班组日安全活动记录
- 医院物业管理中心运送管理方案
- 神经外科技术创新与安全管理计划
- 人行路面破除方案
- 安全教案不玩电风扇
- 小班安全疏散演练文案
- 小学四年级语文课堂教学改进方案
- 智能家居项目产品需求文档
- 老师传染病培训
- 2025年广西民族师范学院马克思主义基本原理概论期末考试笔试真题汇编
- 2026年客服服务考核培训课件
- (一模)长春市2026届高三质量监测(一)语文试卷(含标准答案)
- DB31∕T 1590-2025 淡水养殖池塘底泥质量要求
- 智慧城市岗位专业知识与面试指南
- 河南省许昌市2024-2025学年高二下学期7月期末考试物理试题(解析版)
- 2025年初中道德与法治教师进城考试试卷及答案
- 仿生传感器技术-洞察及研究
- T-ZPP 164-2025 机械制造 浓密机设备技术条件
- 人工智能导论习题及答案完整版
- 2025年教师职称-上海-上海教师职称(基础知识、综合素质、小学音乐)历年参考题库含答案解析
评论
0/150
提交评论