探索尝试:用OpenCV官方发布的build包替换Pip命令安装的Python包(以失败告终)

Posted 昊虹图像算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探索尝试:用OpenCV官方发布的build包替换Pip命令安装的Python包(以失败告终)相关的知识,希望对你有一定的参考价值。

先打开cmd,查看下当前的Python和OpenCV版本号,运行下面三条命令。

C:\\Users\\Administrator>python
>>> import cv2 as cv
>>> print(cv.__version__)

结果如下:

从上面的截图可以看出, 博主的Python版本为64位的3.6.8版,OpenCV版本为4.1.2。

接下来的任务是不利用pip,而用OpenCV官方发布的build将现有的OpenCV – 4.1.2替换为OpenCV – 4.1.1。

首先到OpenCV官方下载文件opencv-4.1.1-vc14_vc15.exe


Extract…

打开路径F:\\Download\\opencv\\build\\python\\cv2
发现有基于python-3.6版本的,真好,免得我去更换python的版本了。

打开,里面编译好的pyd文件居然还是64位的,正好,我的Python解释器也是64位的。

接下来,打开下面这个路径:

C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\site-packages\\cv2\\

Tips:这个路径可以从系统环境变量找到。

注意:上面截图中的cv2.cp36-win_amd64.pyd和cv2.pyd实际上是同一个文件,cv2.cp36-win_amd64.pyd的作用是备份的作用。
在F盘建个文件夹,名字为OpenCV – 4.1.2,然后把上面截图中的cv2.cp36-win_amd64.pyd和cv2.pyd复制到文件夹OpenCV – 4.1.2中,当然如果您不想用OpenCV – 4.1.2版本了,直接删除这两个文件即可。

接下来,把F:\\Download\\opencv\\build\\python\\cv2\\python-3.6\\下的文件cv2.cp36-win_amd64.pyd复制到C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\site-packages\\cv2中:


再复制一个副本:

把这个副本的名字更改为cv2.pyd

这样应该就把用OpenCV官方发布的build将现有的OpenCV – 4.1.2替换为OpenCV – 4.1.1了。
测试下吧!
依然运行下面三条命令:

C:\\Users\\Administrator>python
>>> import cv2 as cv
>>> print(cv.__version__)

结果如下:

从上面的截图中可以看出,这样的简单替换是不行的…

所以我们还是走正规路径吧,先用pip命令卸载现有的OpenCV – 4.1.2版本,再利用pip安装OpenCV – 4.1.1版本,安装好之后再进行替换。

关于用pip命令卸载现有的OpenCV – 4.1.2版本的详情见博文:
https://blog.csdn.net/wenhao_ir/article/details/125128367

整个过程记录如下:

pip uninstall opencv-python==4.1.2.30

pip uninstall opencv-contrib-python==4.1.2.30



开始利用pip安装OpenCV – 4.1.1.26
提示:为什么博主您知道是4.1.1.26?
答案:https://blog.csdn.net/wenhao_ir/article/details/125132255

pip install opencv-python==4.1.1.26



安装成功后测试下安装成功没有:

C:\\Users\\Administrator>python
>>> import cv2 as cv
>>> print(cv.__version__)


可见安装成功了…
接下来再重复上面的pyd文件备份和替换操作。

注意:这次安装的4.1.1.26只有cv2.cp36-win_amd64.pyd这个文件,而没有cv2.pyd这个文件,所以只需要替换一个。

替换完成后再运行

C:\\Users\\Administrator>python
>>> import cv2 as cv
>>> print(cv.__version__)


还是报错,看来博主的这种思路是不行的。

以上是关于探索尝试:用OpenCV官方发布的build包替换Pip命令安装的Python包(以失败告终)的主要内容,如果未能解决你的问题,请参考以下文章

用pandas_profiling快速探索数据,算不算EDA(Exploratory Data Analysis)首选工具

OpenCV 3.0 缺少库

OpenCV 用 Mat 替换 IplImage

在 Windows 上运行的 Eclipse 上静态链接 OpenCV

OpenCV:用 cv::imread 替换 ilLoadImage

动态加载和动态注册类技术的深入探索