【问题标题】:Python Import error Opencv NameError: name highgui is not definedPython 导入错误 Opencv NameError: name highgui is not defined
【发布时间】:2014-03-31 19:10:42
【问题描述】:

Python 2.7.5

我将自制/科学添加到我的 brew 水龙头中。

我跑了

brew install opencv.

我添加的 bash 配置文件

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

我已经打开 headgazer 文件夹并运行

python tracker.py


Traceback (most recent call last):
  File "tracker.py", line 21, in <module>
    from roi_detector import ViolaJonesRoi
  File "/Users/username/Downloads/headtracker_version_0.0/roi_detector.py", line 21, in <module>
    import opencv as cv
ImportError: No module named opencv
~/Downloads/headtracker_version_0.0:.

好的,看起来它叫做opencv2。所以我将 import opencv as cv 替换为

import cv2 as cv

现在在 viola_jones_opencv.py 我有

import cv2 as cv
from cv import *
from cv.highgui import *

我在导入 highgui 时遇到错误

ImportError: No module named highgui

【问题讨论】:

  • 导入highgui时遇到什么错误?
  • 已添加,上次粘贴没有收到。没有命名的模块

标签: python macos opencv homebrew


【解决方案1】:

opencv 的 python api 中没有 highgui 模块。 (句号)

实际上,您所有的导入语句看起来都很笨拙。

(将 cv2 重命名为 cv 是个坏主意,因为之前存在一个旧的 cv 模块。这样只会让自己和他人感到困惑)

全部替换为:

import cv2

并坚持:

cv2.imshow() 
cv2.waitKey()   

[编辑]

如果您尝试运行 something like this

那么你有坏消息。很长一段时间以来,opencv 都带有它自己的 python 绑定,但除此之外,还存在几个过时的 3rd 方绑定。您尝试运行的代码似乎是其中之一,因此您不能将其与 opencv 的内置 api 一起使用。

【讨论】:

  • 我正在根据另一个类似问题的 SO 帖子进行替换。没有highgui,嗯。所以看起来我需要弄清楚从highgui中移出了什么,或者安装opencv自己的python?该死,我只是想要软件来跟踪眼球运动。
  • 您要么必须使代码适应 cv2 api,要么找出原始代码使用的是哪个该死的 python 包装器。
  • 责备那些生活在岩石下的开发者!
  • 这听起来不好玩。谢谢。
【解决方案2】:

没有 highgui 模块所以我不知道你在做什么。另外,我同意 berak 的观点,因为重命名任何导入的东西是一个非常糟糕的主意。你只是有时不知道是否有另一个目录命名相同的东西。无论如何,祝你修复好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多