下面我详细讲解一下“openCV入门学习基础教程第一篇”的完整攻略。
OpenCV(全称为Open Source Computer Vision Library)是一个跨平台的开源计算机视觉库。它可以帮助我们高效、优雅地编写计算机视觉相关代码。本教程旨在帮助大家了解OpenCV,并学习一些基础操作。
安装OpenCV有两种方法:
不过这种方法要注意,Python 2和Python 3的pip包名是不一样的。在Python 2中,安装opencv-python:
pip install opencv-python
而在Python 3中,需要安装opencv-python-headless:
pip3 install opencv-python-headless
这种方法需要先从官网下载源代码,再依据官网提供的编译指南进行编译。具体步骤可以参见官方文档:https://docs.opencv.org/4.4.0/d7/d9f/tutorial_linux_install.html
在安装完成OpenCV之后,我们可以进行一些基础操作。我们以读取并显示图像为例子:
import cv2
img = cv2.imread('image.jpg', cv2.IMREAD_COLOR)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上述代码分为三步:
通过cv2.imread()函数读取图片。第一个参数是图片路径,第二个参数是读取模式。其中读取模式为cv2.IMREAD_COLOR表示读取彩色图像,还有cv2.IMREAD_GRAYSCALE表示读取灰度图像,cv2.IMREAD_UNCHANGED表示按任意深度读取图像。
通过cv2.imshow()函数显示图片。第一个参数是窗口名称,第二个参数是图片。窗口的名字可以自己定义,但需要保证唯一。
cv2.waitKey()函数是一个键盘绑定函数,其参数设置为0时,表示用户无限期等待。当按下任意键时,会关闭窗口。cv2.destroyAllWindows()函数是一个释放所有窗口和销毁所有创建的窗口函数。
有时候,我们需要将图片的大小改为特定大小。OpenCV提供了cv2.resize()函数,可以对图片进行缩放。
import cv2
img = cv2.imread("image.jpg", cv2.IMREAD_COLOR) # 读取图片
img_resized = cv2.resize(img, (400, 300)) # 缩放
cv2.imshow("Original Image", img) # 显示原图
cv2.imshow("Resized Image", img_resized) # 显示缩放后的新图
cv2.waitKey(0) # 无限制等待用户输入
cv2.destroyAllWindows() # 销毁所有创建的窗口
我们也可以对图片进行一些操作之后,把处理后的图片保存下来。
import cv2
img = cv2.imread("image.jpg", cv2.IMREAD_COLOR) # 读取图片
# 对图片进行一些处理...
img_result = ...
cv2.imwrite("processed_img.jpg", img_result) # 保存处理后的图片
上述代码中,cv2.imwrite()函数的第一个参数是保存的文件名,第二个参数则是处理后的图片对象。需要注意的是,保存的文件格式需要与保存的文件名的后缀名匹配,比如jpg、png、bmp等。