Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在openCV的matchTemplate()中处理边界像素?_Opencv - Fatal编程技术网

如何在openCV的matchTemplate()中处理边界像素?

如何在openCV的matchTemplate()中处理边界像素?,opencv,Opencv,我正在尝试做两幅图像之间的关联(较小的图像与较大的图像)。如何在openCv中进行边界处理 cv::matchTemplate(webcamImageReceived,templateImage,resultImage,CV_TM_CCORR_NORMED); 模板永远不会跨越图像边界,结果图像的大小会减少模板大小(每个图像侧面的模板大小为一半) 看这里: (请看: /// Create the result matrix int result_cols = img.cols - t

我正在尝试做两幅图像之间的关联(较小的图像与较大的图像)。如何在openCv中进行边界处理

cv::matchTemplate(webcamImageReceived,templateImage,resultImage,CV_TM_CCORR_NORMED);

模板永远不会跨越图像边界,结果图像的大小会减少模板大小(每个图像侧面的模板大小为一半)

看这里:

(请看:

  /// Create the result matrix
  int result_cols =  img.cols - templ.cols + 1;
  int result_rows = img.rows - templ.rows + 1;

)

谢谢,但我以前看过。我的疑问是,当模板图像是给定图像的(0,0)位置时,此时我们是否必须对给定图像进行填充?例如,您在上面发送给我的链接,在标题“how Do work”下的链接中…查看第二个图像,其中模板图像放置在给定图像上,但不完整…在这种情况下,opencv如何管理相关性?第二个图像是源图像的缩放片段(仅用于说明)。在教程中,他们只处理一个图像。但是您可以使用copyMakeborder来控制边界行为。在“它是如何工作的?”一节和“为了识别匹配区域,我们必须通过滑动将模板图像与源图像进行比较:”……他们已将
模板图像
放置在
源图像
上,开始滑动。我的问题是,在那个特定场景中…我的cv::matchTemplate()做了什么?…我不想控制边界处理,只想知道matchTemplate()是如何做的?它在源图像上设置ROI(左上角到位置(i,j),宽度和高度等于模板的宽度和高度)。对计算结果使用相关方程(通过标志选择)。将结果放在结果图像的位置(i,j)。增加位置。从一开始就重复。当它到达source.cols-template.cols时,它递增i,当它到达(source.rows-template rows,source.cols-template.cols)时,它完成处理。