template-matching相关内容

匹配模板图像(缩放)到主/更大的图像

我想在主图像中查找/检查子图像/模板图像并想知道它的坐标, 我已经使用下面链接中给出的代码来实现它, 检查 iOS 中图像中是否存在子图像 如果模板图像的大小与较大图像的匹配部分的大小完全相同,则可以正常工作. 但是,如果子图像被缩小或放大而不是匹配较大图像的一部分,则无法正确给出结果. 解决方案 使用 OpenCV 特征检测.它比模板匹配更准确.. 请尝试使 ..

来自窗口屏幕截图的模板匹配

我做了什么 我有一个小模板图像,用于在较大的屏幕截图图像中查找匹配子图像的坐标.屏幕截图本身在 BitBlt 的帮助下被捕获到内存 DC,然后通过 GetDIBits 转换为 cv::Mat,如下所示: HDC windowDc = GetWindowDC(hwndTarget);HDC memDc = CreateCompatibleDC(windowDc);//...HBITMAP h ..
发布时间:2022-01-09 18:23:51 C/C++开发

缩放和旋转模板匹配

我正在使用带有 CV_TM_CCORR_NORMED 的匹配模板的方法来比较两个图像......我想让这个旋转和缩放不变......有什么想法吗? 图像和模板的傅里叶变换我尝试用同样的方法,但是旋转后的结果还是不一样 解决方案 在场景中旋转或缩放对象时,使用 matchTemplate 的模板匹配效果不佳. 您应该尝试 Features2D 框架中的 openCV 函数.例如S ..

使用 FFT 的 Matlab 模板匹配

我在 Matlab 的傅立叶域中为模板匹配而苦苦挣扎.这是我的图片(艺术家是 DeviantArt 上的 RamalamaCreatures): 我的目标是在负鼠的耳朵周围放置一个边界框,就像这个例子(我使用 normxcorr2 执行模板匹配): 这是我使用的 Matlab 代码: 清除所有;关闭所有;模板 = rgb2gray(imread('possum_ear.jpg')); ..

单个模板与多个源图像的模板匹配

我有一个模板“X"(符号),它是从“Image1"中裁剪出来的.我正在使用 OpenCV 的 matchTemplate() 方法将模板“X"与“Image1"匹配,并且它成功地做到了这一点.但是,我有另一个名为 "Image2" 的图像,其中包含 X 符号,但是当我使用模板 "X" 与 "Image2" 匹配时,它显示无效匹配.任何帮助将不胜感激. def match_template(img ..
发布时间:2021-06-12 19:56:50 Python

使用 OpenCV 进行角度和尺度不变模板匹配

函数将模板图像从 0 度旋转到 180 度(或最多 360 度)以搜索源图像中所有相关匹配项(所有角度),即使比例不同. 该函数是用 OpenCV C 接口编写的.当我尝试将它移植到 openCV C++ interface 时,我遇到了很多错误.有人请帮我将它移植到 OpenCV C++ 接口. void TemplateMatch(){int i, j, x, y, 键;双 minV ..
发布时间:2021-06-12 19:35:57 其他开发

基于 OpenCV 边缘的对象检测 C++

我有一个应用程序,我必须在其中检测场景中某些项目的存在.这些项目可以旋转并稍微缩放(更大或更小).我试过使用关键点检测器,但它们不够快速和准确.所以我决定首先使用 Canny(或更快的边缘检测算法)检测模板和搜索区域中的边缘,然后匹配边缘以找到找到的匹配的位置、方向和大小. 所有这些都需要在不到一秒的时间内完成. 我尝试过使用 matchTemplate() 和 matchShape( ..
发布时间:2021-06-11 19:51:02 C/C++开发

如何在openCV(java)中调整模板匹配的阈值?

我正在使用openCV 3.4.7 Android SDK(java)运行模板匹配. 该代码几乎可以完美运行;当模板匹配时,它将在匹配区域上绘制一个矩形.问题在于,即使没有匹配项,它也会绘制一个随机的矩形.我认为发生这种情况是因为阈值设置不正确.如果是这样,有人可以帮我吗? 代码如下: public static void run(String inFile, String templ ..
发布时间:2020-07-10 22:32:15 Java开发

二进制(边缘)图像模板匹配的最佳方法

对于所有skimage和opencv专家,给定: 场景图像 模板图片 在场景图像中找到十字的最佳方法是什么?这些是从平滑滤波器和Canny滤波器输出的. 现在,我尝试了skimage中的各种示例,以及opencv模板匹配,但结果并不令人满意. 我的理想解决方案是旋转,平移不变(比例不变将是一个奖励).有没有一种方法可以只转换为轮廓点,然后它们会生成配准点云?那会更准确吗?我 ..
发布时间:2020-07-02 00:14:47 其他开发

使用FFT进行模板匹配

任何人都可以解释如何使用FFT执行模板匹配.模板小于原始图像. 1.在任何地方都声明必须用零填充模板.怎么做的.是将其添加到图像的底部和右侧,还是均匀地添加到整个图像周围. 谢谢. 解决方案 您正在使用傅立叶变换来计算互相关.就这么简单. 围绕模板的所有侧面执行填充.这是因为标准的快速傅里叶变换只能在2 ^ n大小的数据大小上运行,因此模板和图像的大小必须为2 ^ n * 2 ..
发布时间:2020-06-26 12:55:38 其他开发

使用Python/OpenCV从图像中提取固定数量的正方形

我有几张要使用Python/Opencv计算的扫描图像.这些图像中的每一个(请参见下面的示例)都包含n行彩色正方形.这些正方形均具有相同的大小.目的是裁剪每个正方形并从中提取数据. 我发现有的代码能够从图像中提取正方形. 这是我使用过的代码: import numpy as np import cv2 from matplotlib import pyplot as plt d ..
发布时间:2020-05-20 21:05:41 Python

如何使用matchTemplate对齐基于共同特征的两个图像

我有两个重叠的图像.我想对齐这两个图像.我当前的方法是在两个图像中找到一个共同的特征(标记).然后,我想根据特征重叠的位置对齐这两个图像. 图像不是完美的,所以我正在寻找某种方式来根据“最佳"拟合(最大重叠)进行对齐.最初,我尝试通过SIFT使用特征匹配来对齐图像,但是特征匹配通常不正确/太少. 这是我用来查找模板的代码: template = cv2.imread('templ ..
发布时间:2020-05-20 20:55:07 Python

模板与OpenCV Python中的多个对象匹配

根据但是问题是单个对象返回的多个点的位置略有不同. 像这样: 我不想使用cv2.minMaxLoc(),因为图像中有多个模板. 我编写了一个删除未结头寸的函数,但我想知道是否有解决此问题的简单方法? 谢谢. 解决方案 查找多个匹配项的一种方法是覆盖找到的匹配项,然后再次运行匹配项. 编辑:查找多个匹配项的一种 更好 方法是在 结果 上写上.在第一个示例中,我们将结果的匹配部分填充为零 ..

如何在OpenCV中检测已知对象?

我试图在窗口中实时绘制形状.屏幕中的形状像是缠结,矩形,圆形,半圆形或圆形,并使用黄色显示"Z".尺寸和形状可能与原始图像不同.但是Program知道所有原始形状.因为它们是预定义的.我想知道如何识别正确的形状.例如, 有没有办法做到这一点?我可以为此使用模板匹配吗?请帮我解决这个问题. 解决方案 您可以使用不同的方法来检测每种形状.检查这些: 使用OpenCV进行椭圆检测 ..
发布时间:2020-05-20 20:11:15 其他开发

了解和评估模板匹配方法

OpenCV具有matchTemplate()函数,该函数通过在输出上滑动模板输入,并生成与匹配项相对应的数组输出来进行操作. 在哪里可以了解有关如何解释六个 TemplateMatchModes的更多信息? 我已阅读并基于教程 a>,但除了理解一个人在寻找TM_SQDIFF匹配的最小结果而在其他人寻找最大的结果之外,我不知道如何解释不同的方法,以及一个人会选择另一个方法的情况. /p ..
发布时间:2020-05-20 19:57:40 Python