【问题标题】:OpenCV: findContours(); - What kernel am I usingOpenCV:findContours(); - 我用的是什么内核
【发布时间】:2012-01-15 23:15:11
【问题描述】:

这是一个相当简单的问题,虽然我很难回答自己的问题。

我们是一个由五个人组成的小组,他们必须写一份报告,我们必须记录我们所做的一切等。在我们的项目中,我们使用函数“findContours();”这是 OpenCV 库中的一个函数。

我们知道'findContours();'函数运行一个 Grass-Fire 算法,但我们需要记录我们正在使用的内核,我们对此一无所知。

我们运行的函数是这样的:

findContours(mGreenScale, vecContours, vecHierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);

  • mGreenScale:我们运行函数的二进制图像。
  • vecCountours:矢量处理程序,用于跟踪哪个像素是轮廓的一部分。
  • vexHierarchy:我们不确定这是什么,尽管我们认为它是某种处理轮廓层次结构的数组,并保持 跟踪什么是边缘轮廓,什么是非边缘轮廓。
  • 我们不知道该函数的另外两个输入,我们认为它是定义我们使用的内核的两个输入之一。

我希望任何人都能够识别我们正在使用的内核。 提前致谢,如果您觉得我遗漏了一些不重要的内容,请询问更多信息。

间接解释: 我们是一小群经验不足的程序员,他们对 C++ 的了解有限,一个月前才开始使用 OpenCV。我们的时间安排有限,并且需要在两周内完成文件。我们已经浏览了这个确切的网站:OpenCV documentation,尽管仍有一些我们不明白的术语。 我们没有必要的时间来检查源代码,也没有这样做的经验。 我们认为这是一种草火算法,因为我们知道没有其他算法能够检测 BLOBS。

【问题讨论】:

  • 只是一个建议:与其重复说您没有必要的时间和经验,不如尝试理解这些条款。该链接来自 Learning OpenCV 书,并且非常清楚地解释了各种术语。如果您不想更深入,则足以用于文档目的。 books.google.co.in/…

标签: c++ image-processing opencv kernel


【解决方案1】:

OpenCVdocumentation中清楚地解释了每个参数的作用

您可以找到内核查看 OpenCV 代码。它是开源的。但我不确定它是否使用了任何内核。不查源怎么知道算法?

【讨论】:

  • OpenCV 文档中清楚地解释了每个参数的作用。 像我们一样定义您对“清楚地”的解释,这令人困惑。我们没有时间,也没有经验去搜索源代码。我们认为它是一种草火算法,因为我们不知道有其他算法可以检查 blob。
  • 你说vexHierarchy:我们不确定这是什么文档有半页的内容。你到底有什么不明白的? 我们没有时间,也没有经验如果您不知道自己在做什么并且没有时间学习,为什么还要进行图像处理?以及我们应该如何帮助那些不想学习而只是复制的人?
  • 我认为您不了解我们的情况,也无法回答我们的问题。我们已经为此工作了一个多月,很快就到了最后期限。你解决这个问题的方式似乎对我们怀有敌意,而且你对我们的情况没有洞察力。看看@AruniRC 对我们问题的评论。这是正确的回应方式。我们花了无数时间学习 c++、OpenCV、Unity,更不用说写报告了,还学习了图像处理背后的理论。
  • 回答关于轮廓层次的问题。在谈论轮廓时,我们只是不了解层次结构背后的理论。我们“认为”的意思是,轮廓存储在数组中,这基本上意味着它们存储在层中。通过阅读该文档,我们仍然不了解该理论,但是轮廓层次结构与算法内核有什么关系?
  • :) 我在第一个图像处理项目上花了大约两年时间,第二个项目又花了一年时间。所以我很理解你!现在,回答您关于层次结构的问题,可以嵌套轮廓(即眼睛的轮廓嵌套在面部轮廓中,虹膜轮廓留在眼睛轮廓中,呈树状结构)。如果您使用适当的标志提取轮廓,则此信息存储在 vexHierarchy 中。所有这些理论都在 AruniRC 向您推荐的书中得到了很好的解释。
猜你喜欢
  • 2014-05-20
  • 2015-06-11
  • 2018-03-10
  • 2021-12-09
  • 2013-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多