我第一次尝试使用OpenCV for Python 3。要安装,我只需在终端中输入pip3 install opencv-python
即可。当我这样做时,我在Finder(我在Mac上)看到,在/usr/local/lib/python3.7/site-packages
中,我现在有一个新的文件夹,名为"cv2"
。
这很奇怪为什么不是cv 3,因为我用的是pip 3?我不知道。
当我尝试从python3
中选择import cv2
时,它显示No module named 'cv2'
。幸运的是StackOverflow already has a solution:如果我首先更改目录,如:cd /usr/local/lib/python3.7/site-packages
然后我就可以打开cv2
了。**我不知道为什么OpenCV需要这个步骤。**例如,我不需要对import numpy
执行这个步骤; numpy
并不关心我从哪个目录开始,它就像cv 2一样被列出。
无论如何,我将目录更改为site-packages
,启动python3
,和我import cv2
。现在出现了一个新的错误。这一次找到了cv2
,但它说:
from .cv2 import *
ModuleNotFoundError: No module named 'cv2.cv2'
我也有Python 2.7。如果我尝试cd /usr/local/lib/python2.7/site-packages
,然后启动Python 2.7,我可以导入cv2
。这是可以的,但我想使用OpenCV与Python3。
让我总结一下。
(1)当我从任何目录启动时,如何获取cv 2或cv 3导入?这可能吗
(2)如何获得python3的cv 3?cv 2在python3中似乎有问题,因为没有cv2.cv2
3条答案
按热度按时间b1zrtrql1#
我们唯一需要知道的是,cv2中的2不是一个版本。cv2使用C++的API,而cv使用C API。它的版本在CV2中不断更新。
x8diyxa72#
没有“cv3”。
“cv2”代表API版本,而不是库版本。
API版本1是针对C(和Python)的。API版本2是C++(和Python)。
API版本2自库版本2.0起存在。
API版本1在整个库版本3.x中被逐步删除。它在库版本4.0中不再可用。
如果你安装了这个包,但是你的Python不能使用
import cv2 as cv
(官方推荐的import语句),那么你要么把这个包安装到了一个虚拟环境中,要么你有多个Python,并且你把它安装到了一个与你试图导入它的Python不同的Python中。anhgbhbe3#
没有cv3,只有import cv2,opencv old或latest更新为旧python或latest。