导入OpenCV-导入cv2或cv3,为什么目录很重要?

时间:2018-11-03 12:58:15

标签: python python-3.x opencv opencv3.0

我正在尝试首次将OpenCV用于Python 3。要安装,我只需在终端中输入“ pip3 install opencv-python”。执行此操作时,在Finder(在Mac上为Mac)中,我发现在/usr/local/lib/python3.7/site-packages中,我现在有了一个名为“ cv2”的新文件夹。这很奇怪。为什么不像我使用pip3那样显示cv3?我不知道。

当我尝试从python3导入cv2时,显示“没有名为'cv2'的模块”。幸运的是,StackOverflow already has a solution:如果我首先更改目录,例如:“ cd /usr/local/lib/python3.7/site-packages”,则可以打开cv2。 我不知道为什么OpenCV需要执行此步骤。例如,我不必执行此操作即可“导入numpy”。 “ numpy”不在乎我从哪个目录开始,它像cv2之类的另一个模块一样被列出。

无论如何,我将目录更改为站点软件包,启动python3,然后导入cv2。现在有一个新错误。这次找到了cv2,但是它说:

”从.cv2导入*
ModuleNotFoundError:没有名为“ cv2.cv2”的模块

为了记录,我也有Python 2.7。如果我尝试“ cd /usr/local/lib/python2.7/site-packages”,然后启动Python 2.7,则可以导入cv2。可以,但是我想在Python3中使用OpenCV。

让我总结一下。

(1)从任何目录启动时如何获取cv2或cv3导入?这有可能吗?

(2)如何获取python3的cv3? cv2在python3中似乎是有问题的,因为没有“ cv2.cv2”

2 个答案:

答案 0 :(得分:-1)

您已在cv2之前加了句号(。)。只需插入这一行。

    from cv2 import *

使用pip安装模块时,它将转到默认目录。您可以从任何目录中的代码中导入模块。

答案 1 :(得分:-1)

没有cv3,只有 import cv2 可以将opencv的版本更新为旧的python或最新的版本。