【问题标题】:Function CalcEMD2 missing from OpenCV3 module for Anaconda PythonAnaconda Python 的 OpenCV3 模块中缺少函数 CalcEMD2
【发布时间】:2016-03-11 16:18:28
【问题描述】:

我需要在我的程序中计算地球移动器的距离 (EMD)。我正在尝试关注this answer,但由于某种原因,我系统上的cv2 模块没有CalcEMD2 功能。有人可以解释为什么它丢失了吗?

我使用 Anaconda for Python 3.4 并安装了 OpenCV

conda install -c https://conda.anaconda.org/menpo opencv3 

安装包没有问题,导入也很好。

>>> import cv2
>>> print(cv2.__version__)
3.1.0

但是,CalcEMD2 不存在。 cv2 的命名空间只有两个成员包含字符串“emd”(不区分大小写),这两个成员都不是我要查找的函数:

>>> [k for k in cv2.__dict__ if 'emd' in k.lower()]
['createEMDHistogramCostExtractor', 'createEMDL1HistogramCostExtractor']

【问题讨论】:

  • 新名字是EMD,所以应该是:cv2.EMD(...)
  • 就我而言,既没有cv2.EMD。我编辑了问题以表明该模块仅包含两个函数,其名称中包含字符串“EMD”,但它们都不是我要查找的函数。

标签: python opencv


【解决方案1】:

对于我见过的大多数 OpenCV 2.7.x 库,您可以在 cv2.cv.CalcEMD2() 下找到它。

compareHist() 也有隐藏在 cv2.cv.CV_COMP_* 下的参数。

希望这会有所帮助。

【讨论】:

  • 是的,CalcEMD2 存在于 Python 2.7 的 OpenCV 2.4.x 库中,但 Python 3.x 的 OpenCV 3.1.x 库中似乎缺少它。
  • 酷,我看到你提到了 Python 3.4。我在 Python 2.7 中寻找相同的函数,而 cv2.cv.* 是导致这个问题的问题。希望,解决方案出现在 Python 3 上。
猜你喜欢
  • 1970-01-01
  • 2015-05-20
  • 2014-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-30
  • 1970-01-01
相关资源
最近更新 更多