多目标轮廓匹配

前面我们使用模板匹配,得到的结果都是一个图,那么如果我们图片中有许多我们的目标,那么该如何找出来呢?

如上我们图片中有许多箭头和我们的模板一致,只不过方向不对,那么该如何匹配呢?

图片和模板处理

复制代码
ref=cv2.imread('jiantou.jpg')
cv2.imshow('jiantou', jt)
cv2.waitKey(0)
h,w= ref.shape[:2]


yuan=cv2.imread('yuan.jpg')
yuan1=yuan.copy()
cv2.imshow("yuan", yuan)
cv2.waitKey(0)

阈值选择

复制代码
result = cv2.matchTemplate(ref, yuan1, cv2.TM_CCOEFF_NORMED)
threshold =0.9
loc = np.where(result >= threshold)

我们得到的results是一个包含许多匹配度的,如何我们这里使用一个阈值来选择,之前我们选择的都是那个最大的。现在我们选匹配度较好的几个。(where具体看我主页单文章解释)

这里result是一个矩阵,表示以哪一个点做左上角时的匹配度。如何where可以返回这个点的位置。

画出

复制代码
for pt in zip(*loc[::-1]):
    cv2.rectangle(yuan,pt,(pt[0]+w,pt[1]+h),(0,0,255),1)

现在我们值画出了同方向的,那么我们该如何检测不同方向的呢?

旋转

复制代码
rotated_image1 =np.rot90(ref, k=-1)
rotated_image1 =np.rot90(ref, k=1)

这里k=-1顺时针,k=1为逆时针

这是我们可以把箭头旋转一下,如何再进行模板匹配。(关于zip我另一篇文章专门写)

复制代码
rotated_image1 =np.rot90(ref, k=-1)
result1 = cv2.matchTemplate(rotated_image1, yuan1, cv2.TM_CCOEFF_NORMED)

loc1 = np.where(result1 >= threshold)

for pt in zip(*loc1[::-1]):
    cv2.rectangle(yuan,pt,(pt[0]+w,pt[1]+h),(0,0,255),1)
cv2.imshow('yuan', yuan)
cv2.waitKey(0)

rotated_image2 =np.rot90(ref, k=1)
cv2.imshow("yuan1", rotated_image2)
cv2.waitKey(0)
result2 = cv2.matchTemplate(rotated_image2, yuan1, cv2.TM_CCOEFF_NORMED)

loc2 = np.where(result2 >= threshold)

for pt in zip(*loc2[::-1]):
    cv2.rectangle(yuan,pt,(pt[0]+w,pt[1]+h),(0,0,255),1)


cv2.imshow("yuan", yuan)
cv2.waitKey(0)
相关推荐
染指11101 小时前
26.RAG进阶(Advanced RAG)-假设性问题索引
人工智能·windows·agent·rag·advanced rag
闵孚龙1 小时前
动态图机制:为什么 PyTorch 调试起来更舒服
人工智能·pytorch·python
甲维斯2 小时前
还要啥Codex!DeepSeek接入Zcode远程连接!
人工智能
百胜软件@百胜软件2 小时前
百胜软件亮相“AI消费新生活”主题日活动,AI智能运营平台入选市级案例征集
人工智能·生活·零售数字化·数智中台·珠宝行业
专注搞钱3 小时前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
闻道参看3 小时前
贝芯宠AI灵兽 ELFVET 大模型聚焦临床应用,强化宠物诊疗综合能力
人工智能·宠物
MartinYeung53 小时前
[论文学习]重新思考大型语言模型忘却目标:梯度视角与超越
人工智能·学习·语言模型
财经资讯数据_灵砚智能3 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月14日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
m0_380167144 小时前
加密货币价格 API、市场数据 API 与 分析 API 有什么区别?
人工智能·ai·区块链
zyplayer-doc4 小时前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新