计算机视觉菜鸟一只,也是第一次发博客,本人在安装Python和OpenCV的时候遇到了很多问题,也借鉴CSDN其他博主的解决办法,可能有很多遗漏或者错误的地方,希望大家海涵!本文使用的系统如下:win10家庭版、8G内存。所使用的工具版本及下载链接如下:
Python的下载地址为:https://www.python.org/downloads/windows/
查阅过相关资料,Python3是未来的主流,有因为本人电脑操作系统是64位的,需要选择64位的python3版本。
下载完成后,一路默认安装完毕后,利用命令提示符(cmd)直接敲入python命令行后回车运行出现python版本的说明信息,那么说明python安装成功。 我选择的python3会自动地将安装位置添加到系统路径中去。但是,如果没有出现说明信息的话,说明系统没有自动将python的安装位置添加进系统路径中去。这时需要查看python的安装位置添加进系统路径中去。具体操作如下:系统属性—高级—环境变量—系统变量,选择Path,添加Python的安装目录。
这一步是最麻烦的,在这上面卡了几个小时才解决,一个接一个地出现问题,很好地诠释了从入门到放弃。利用的是Python3.8.1自带的pip下载第三方工具软件——NumPy。这一步有两个吐血的问题:
这两个问题其实都是同样的问题,镜像源选择错了,导致访问超时报错。所以这里有几个国内镜像源可大大提高下载速度,解决访问超时报错的问题。
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:https://pypi.douban.com/simple/
我使用的是豆瓣的镜像源,下载速度可达6M/s。PS:里面其他镜像我还没去试过是否可行,链接是否有误,当时使用豆瓣镜像源https少了个s,命令提示符直接报错。各位亲,使用国内镜像源的时候可以多尝试一下。
python -m pip install --upgrade pip
由于默认使用其他国内和国外镜像源,所以不但下载速度过慢导致超时的结果
从图中可以看到速度很慢导致操作超时,所以在命令行后面添加了暂时指定镜像源的命令:
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
更新成功后,会提示成功安装pip的命令。接下来就需要利用pip来下载安装numpy软件了,命令行如下:
pip install numpy -i https://pypi.douban.com/simple
从图中可以看到,numpy也成功安装完毕,下一步就是python安装Opencv了。
Opencv的下载地址为:https://opencv.org/releases/
我选择的是Windows版本,这个是压缩包,下载完后直接解压就可以,不用安装到特定位置。我将这个压缩包解压到C:\software\opencv目录下(这个因人而异)。解压完成后,因为我的python版本是3.8.1,按照下面图的路径找到自己对应python-3.8,将里面的一个CV2文件复制到python的安装路径下面,这两张图片最好对照一下,后面的路径都是一样。
最后一步,将Opencv与python混合编程,在命令提示符(cmd)里面输入命令行,验证OpenCV和python是否混合交互,如没有错误信息证明安装成功。
pip install opencv-python -i https://pypi.douban.com/simple
命令输出效果如下,证明opencv-python安装成功:
编程测试
利用编程软件编写下列例程代码,将图片名称与cv2.imread函数中的图片名必须一致,同时将图片和python源程序放在同一文件夹,利用cmd编译代码时需要在子目录下运行。例如,我的源程序和图片都放在test文件夹下,那么cmd编译时需要将路径更改为test文件夹,这样才能保证运行成功。
import cv2
import numpy as np
img = cv2.imread("imagetest.png")
emptyImage = np.zeros(img.shape, np.uint8)
emptyImage2 = img.copy()
emptyImage3 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("EmptyImage3", emptyImage3)
cv2.waitKey(0)
cv2.destroyAllWindows()
编程编译效果如下
从效果图可以看出图片灰度显示且无错误信息提示,证明opencv-python运行成功。