随着深度学习的发展,越来越多的应用开始需要对图像进行处理。在图像处理中,经常需要调整图像的角度、大小和形状等,其中一种处理方法就是透视变换。然而,在进行透视变换后,会出现图片四周留有空白的情况,因此需要对图片进行补边处理。
1、透视变换
在opencv中,可以使用cv2.getPerspectiveTransform()和cv2.warpPerspective()两个函数进行透视变换。下面是一段以车牌检测为例的代码:
import cv2
import numpy as np
# 读入图片
img = cv2.imread('car_plate.png')
# 定义四个顶点
points = np.float32([[51, 228], [393, 210], [420, 293], [70, 321]])
# 定义输出图像大小
width, height = 360, 170
# 计算透视变换矩阵
matrix = cv2.getPerspectiveTransform(points, np.float32([[0, 0], [width, 0], [width, height], [0, height]]))
# 进行透视变换
dst_img = cv2.warpPerspective(img, matrix, (width, height))
在上述代码中,先读入一张车牌