【问题标题】:Check if matching image is the same size with opencv检查匹配图像是否与opencv大小相同
【发布时间】:2018-07-27 01:04:36
【问题描述】:

假设我有一张装满物品的架子的图片。在架子的某个地方,我有一个盒子。使用盒子的模板图像,我试图使用 opencv 模板匹配在架子上找到盒子。

如果我在架子上找到盒子,我需要检查盒子是否与我的模板图像中的盒子大小相同,如果不是,我将抛出异常。但是我不知道如何检查匹配图像的大小,我什至不知道是否可以。图像并不总是一个盒子,所以它有时会弯曲或混合边缘。

所以我需要做的是在找到与模板匹配的图像的一部分后,我想检查该部分的大小是否与模板图像的大小相同。有谁知道我如何做到这一点?

【问题讨论】:

  • 一些问题:您的相机与拍摄模板时的姿势相同吗?你的架子总是一样的吗?
  • 相机总是相同的姿势和货架总是相同的大小。我觉得我可以只计算数学部分中的像素,但是当我尝试时我被卡住了。
  • 如果您知道模板中框的大小,将其与 ECC (cv::findECCtransform) 匹配,然后求解其单应矩阵,您将得到以世界单位表示的框大小(您将获得比例和旋转因子)从模板到图像

标签: c++ opencv template-matching


【解决方案1】:

要查找与图片匹配的模板,可以在以下链接中找到详细代码[https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html][1]

并且要找到匹配区域的大小,可以取matchLoc.x + templ.cols and matchLoc.y + templ.rows值。

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 2012-05-27
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多