一、准备工作
在学习OpenCV之前,需要以下的准备工作。
1. 安装Python
由于本次学习OpenCV是基于Python,所以需要首先安装Python。
sudo apt-get update
sudo apt-get install python3.6
2. 安装pip3
pip3是Python3包管理工具,类比yum/apt-get。
sudo apt-get install python3-pip
3. 安装虚拟环境
虚拟环境是Python项目开发的必要工具,可以隔离不同项目之间的依赖关系,防止依赖环境相互影响。
pip3 install virtualenv
二、安装OpenCV
接下来,我们通过pip3来安装OpenCV。
1. 创建虚拟环境
首先,需要创建一个虚拟环境,以便进行OpenCV的安装。
virtualenv opencv_env
2. 激活虚拟环境
创建好虚拟环境后,需要进入虚拟环境进行后续操作。
source opencv_env/bin/activate
3. 安装OpenCV
通过pip3安装OpenCV。
pip3 install opencv-python
三、使用OpenCV进行图像处理
1. 读取图像
读取本地图片,并显示到屏幕上。
import cv2
# 读取图片
img = cv2.imread("test.jpg")
# 显示图片
cv2.imshow("Test", img)
# 等待键盘输入,不输入则一直显示
cv2.waitKey(0)
2. 图像灰度处理
将彩色图像转换成灰度图像。
import cv2
# 读取彩色图片
img = cv2.imread("test.jpg")
# 转换成灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 显示灰度图像
cv2.imshow("Gray Test", gray_img)
# 等待键盘输入,不输入则一直显示
cv2.waitKey(0)
3. 图像缩放
将图像缩小成原来的一半,并显示到屏幕上。
import cv2
# 读取图片
img = cv2.imread("test.jpg")
# 缩小图片
img_resized = cv2.resize(img, (0, 0), fx=0.5, fy=0.5)
# 显示图片
cv2.imshow("Resize Test", img_resized)
# 等待键盘输入,不输入则一直显示
cv2.waitKey(0)
4. 图像旋转
将图像顺时针旋转90度,并显示到屏幕上。
import cv2
# 读取图片
img = cv2.imread("test.jpg")
# 旋转图片
(h, w) = img.shape[:2]
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, -90, 1.0)
img_rotated = cv2.warpAffine(img, M, (w, h))
# 显示图片
cv2.imshow("Rotate Test", img_rotated)
# 等待键盘输入,不输入则一直显示
cv2.waitKey(0)