最近学习了计算机视觉的课程,准备用opencv来实现相机标定,但在import cv2时出现了一些问题,看了许多博客都没感觉有啥用。

问题一:vscode中import cv2出现错误

在进行调用库文件import cv2时出现提示:
ImportError: No module named cv2
这种情况是属于没有下载opencv文件或者是安装位置不对导致的,所以去网站下了相关文件,具体链接如下:opencv点击下载

opencv.jpg
opencv.jpg

注:下载前确定好自己的python版本,版本不对的话还是会出现错误的。

紧接着,ctrl + r输入cmd,在命令提示窗内继续输入pip install <刚刚下载下来的文件路径>

问题二:pip install出现问题

上诉操作之后按道理来说是没有任何问题的,但偏偏还是出现了问题:

1
ImportError: DLL load failed:找不到指定模块

这种情况错误产生的原因是对应模块的文件不完善或者没有对应的模块
解决方法下载相对应的模块,点击进入。因为我用的是opencv-python,所以在下载完成后将python文件夹下的python38版本的opencv文件(.pyd结尾的)复制到python的安装目录\python38\Lib\site-packages下,并将其改名为c2.pyd

查找python安装路径的方法

win + r输入cmd进入命令提示窗:

cmd.jpg
cmd.jpg

然后,输入python进入到python交互环境,再输入以下命令:
1
2
import sys
sys.path

cmd.jpg
这样就能看到相对应的site-packages文件夹。

问题三:Defaulting to user installation because normal site-packages is not writeable错误提示

从网上看了很多帖子,方法也都实验过了但都无济于事,先对一些方法做一些集锦:

  1. 使用user权限
    pip install --user <package name>
  2. 更改文件夹权限,让packages有权限写入;
  3. 找对python文件夹,确保将其加入到环境变量中,环境变量的查看以及操作方法如下:
    在桌面右键此电脑,点击属性,选择高级系统设置,编辑并下列python文件夹加入到path...\python38\Scripts\...\python38\...\python38\Lib

    注:我的问题在第二步将.pyd文件添加到site-packages下就解决了。

    结果

    测试结果.jpg
    测试结果.jpg

    显示的图太大了,不太好展示。

    完结!