计算机视觉入门指南:OpenCV在Linux上的基本应用 计算机视觉是人工智能领域的一个热门方向,OpenCV作为计算机视觉的重要工具库,已经成为了许多开发者在实践中的首选。本文将为大家介绍如何在Linux系统上使用OpenCV进行基本应用。 1. 安装OpenCV 首先需要安装OpenCV,可以使用以下命令: ``` sudo apt-get install libopencv-dev python-opencv ``` 2. 打开并显示图片 使用OpenCV打开并显示图片的代码如下: ``` import cv2 img = cv2.imread('test.png') cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 上述代码中,cv2.imread()函数接收图片路径作为参数,返回一个numpy数组,cv2.imshow()函数显示图片,cv2.waitKey()函数等待任意键按下,cv2.destroyAllWindows()函数关闭所有窗口。 3. 图像处理 OpenCV提供了丰富的图像处理函数,包括图像缩放、旋转、颜色空间转换等。以下是对图像进行缩放和旋转的示例代码: ``` import cv2 img = cv2.imread('test.png') # 缩放 resized = cv2.resize(img, (int(img.shape[1] / 2), int(img.shape[0] / 2))) # 旋转 rows, cols = img.shape[:2] M = cv2.getRotationMatrix2D((cols / 2, rows / 2), 45, 1) rotated = cv2.warpAffine(img, M, (cols, rows)) cv2.imshow('resized', resized) cv2.imshow('rotated', rotated) cv2.waitKey(0) cv2.destroyAllWindows() ``` 上述代码中,cv2.resize()函数接收原始图像和目标大小作为参数,返回缩放后的图像,cv2.getRotationMatrix2D()函数接收旋转中心、旋转角度和缩放比例作为参数,返回旋转矩阵,cv2.warpAffine()函数接收原始图像、旋转矩阵和输出图像大小作为参数,返回旋转后的图像。 4. 视频处理 OpenCV还可以处理视频,以下是一个读取视频并进行边缘检测的示例代码: ``` import cv2 cap = cv2.VideoCapture('test.mp4') while cap.isOpened(): ret, frame = cap.read() if ret: gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) edges = cv2.Canny(gray, 100, 200) cv2.imshow('frame', edges) if cv2.waitKey(25) & 0xFF == ord('q'): break else: break cap.release() cv2.destroyAllWindows() ``` 上述代码中,cv2.VideoCapture()函数接收视频路径作为参数,返回一个VideoCapture对象,cap.isOpened()函数判断视频是否成功打开,cap.read()函数读取视频帧,cv2.cvtColor()函数将BGR格式图像转换为灰度图像,cv2.Canny()函数进行边缘检测,cv2.waitKey()函数等待25毫秒,如果按下“q”键则退出循环。 总结 本文介绍了如何在Linux系统上使用OpenCV进行基本应用,包括打开并显示图片、图像处理和视频处理。OpenCV提供了丰富的图像处理函数,开发者可以根据需求灵活运用。