Python CV2是一种Python编程语言下的计算机视觉库,是OpenCV(计算机视觉领域应用广泛的一款开源库)的Python封装包。Python CV2可以用来处理图像和视频的输入输出,图像变形,特征提取和匹配,以及各种计算机视觉算法实现等。本文将围绕着Python CV2进行详细的讲解。
一、安装Python CV2
在安装Python CV2之前,你需要先安装Anaconda。安装好Anaconda之后,打开Anaconda Prompt输入以下命令安装Python CV2:
pip install opencv-python-headless
在这里,我们选择headless版本,因为这是没有图形界面的版本,如果你想要CV2窗口实时呈现效果,可以选择
pip install opencv-python
。
二、基本图像处理
在Python CV2库中,最常见且最基本的处理就是读取和显示图像。通过下面的代码示例,我们可以先读入一张名为“test.jpg”的图片,然后将其显示出来:
import cv2 # 读取图像文件 img = cv2.imread("test.jpg") # 显示图像 cv2.imshow("image", img) cv2.waitKey(0) cv2.destroyAllWindows()
执行这段代码后,你将看到刚才读入的图像“test.jpg”展示在一个名为“image”的窗口中。需要注意,按下键盘上任意键后,程序才会退出。
三、图像预处理
Python CV2库可以实现对图像进行很多预处理。例如,对一张天空的照片,我们可以尝试将其转换为黑白色。下面的代码将达到这一效果:
import cv2 # 读取图像文件 img = cv2.imread("test.jpg") # 将图像转换为黑白色 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 显示图像 cv2.imshow("image", gray_img) cv2.waitKey(0) cv2.destroyAllWindows()
执行完以上代码,可以看到原本的图像变成了黑白色,但仍然保存着原图的所有细节和特点。
四、图像特征提取
除了对图像进行预处理之外,Python CV2还可以实现图像的特征提取和匹配。下面的例子演示了如何使用Python CV2找到图像中的边缘,并将其绘制在图像上:
import cv2 import numpy as np # 读取图像文件 img = cv2.imread("test.jpg") # 预处理,将图像边缘提取出来 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 使用Canny算子进行图像边缘提取 edges = cv2.Canny(gray_img, 50, 200) # 显示图像边缘 cv2.imshow("edges", edges) cv2.waitKey(0) cv2.destroyAllWindows()
运行这段代码,将看到图像的边缘已被成功提取并显示在一个名为“edges”的窗口中。
五、摄像头实时捕捉
Python CV2的应用不仅仅局限于静态图像处理,它还能够实时捕捉摄像头的视频并进行处理。下面的例子演示了如何使用Python CV2实时显示摄像头的视频输出:
import cv2 # 打开摄像头 cap = cv2.VideoCapture(0) # 不断循环读取摄像头的视频 while True: ret, frame = cap.read() # 显示视频 cv2.imshow('frame',frame) # 当按下键盘上Q键时退出 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源 cap.release() cv2.destroyAllWindows()
运行这段代码,将会看到摄像头的视频输出实时展现在一个名为“frame”的窗口中。当按下键盘上的Q键时,程序将退出。
最新评论