在python上安装opencv十分简单,只需要在命令行中输入pip install opencv-python即可,如图
我这里opencv库是已经安装完成的,所以没有显示安装的进度条,不过有时候安装会很慢,需要手动下载好再安装,可以再这个路径下面找到合适的安装包https://pypi.org/project/opencv-python/#files,推荐安装最新版本4.0.0版本,下载完成后再离线安装。
安装完成opencv后,通过命令行输入import cv2发现运行没有错误,说明opencv库已经安装成功。
此时说明安装成功
但是这时候打开pycharm,将python interpreter配置成功后,输入以下代码发现
此时的imread函数的颜色与其他代码不同,其实是因为pycharm认为这里有错误,因为在cv2文件夹下的 init.py文件中没有imread函数,并且按住ctrl+左键也不会进入提示,这让开发人员非常痛苦,下面讲如何解决这个问题。
首先,找到opencv库的安装目录,其实我们知道,通过pip install 安装的module都会自动安装到python.exe安装目录下的site-packages路径下面,opencv模块的文件夹名称为cv2,我们也可以通过pip install opencv-python安装结束的提示找到opencv模块的安装路径,那么找到cv2文件夹以后,进入cv2文件夹中,发现有一个 cv2.cp37-win_amd64.pyd 文件,我们需要将这个文件修改名字为 cv2.pyd之后拷贝到site-packages路径下,为了防止错误,我们也可以将 cv2.cp37-win_amd64.pyd 复制一份到site-pachages路径下然后改名,这样再重新打开pycharm软件,就会发现有提示了,并且函数的使用方法也会有提示,可以说十分方便哦,下面是我在pycharm可以提示后写的一段小的测试代码
import cv2
face_file = "./haarcascade_frontalface_default.xml"
if __name__ == "__main__":
image = cv2.imread("./obama.jpg")
cv2.imshow("image", image)
gray_image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
classifier = cv2.CascadeClassifier(face_file)
faces = classifier.detectMultiScale(
gray_image,
scaleFactor=1.15,
minNeighbors=5,
minSize=(5, 5),
flags=cv2.CASCADE_SCALE_IMAGE
)
for x, y, w, h in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow("face", image)
cv2.waitKey(0)
这段代码是从一副图像中选取出人物的头像,其中 haarcascade_frontalface_default.xml 是我从cv2/data路径下复制到我程序的目录下的,obama.jpg是我从网上下载的一张照片,大家也可以从网上随便找一个人的头像来试一下,程序运行的结果如下
上面是原始图像
上面是选取出人头像后的图像
为什么将pyd文件复制到site-packages路径下后就能够代码提示了呢,再pycharm中ctrl+左键可以发现,原来site-packages添加cv2.pyd文件后,用户路径下的.Pycharmxxxx路径下面就会产生新的cv2模块的 init.py 文件,虽然这段代码中没有opencv的源代码,但是说明了opencv库函数的使用方法,对于我们开发人员来说也是非常方便了。