简介
透视变换(Perspective Transformation)是将成像投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。如图,通过透视变换ABC变换到A’B’C’。
; 函数解析
cv2.getPerspectiveTransform(src, dst)
参数说明:
src:源图像中待测矩形的四点坐标
sdt:目标图像中矩形的四点坐标
cv2.warpPerspective(src,M,dsize,dst,flags,borderMode,borderValue)
参数说明:
- src:输入图像
- M:变换矩阵
- dsize:目标图像shape
- flags:插值方式,interpolation方法INTER_LINEAR或INTER_NEAREST
- borderMode:
边界补偿方式,BORDER_CONSTANTorBORDER_REPLICATE - borderValue:边界补偿大小,常值,默认为0
cv2.perspectiveTransform(src, m)
参数说明:
- src:输入的2通道或者3通道的图片
- m:变换矩阵
区别
warpPerspective适用于图像。perspectiveTransform适用于一组点。
使用举例
def warpImg(img, points, w, h, inv=False):
pts1 = np.float32(points)
pts2 = np.float32([[0, 0], [w, 0], [0, h], [w, h]])
if inv:
matrix = cv2.getPerspectiveTransform(pts2, pts1)
else:
matrix = cv2.getPerspectiveTransform(pts1, pts2)
imgWarp = cv2.warpPerspective(img, matrix, (w, h))
return imgWarp
Original: https://blog.csdn.net/qq_50394133/article/details/123832496
Author: TommyZiAng
Title: cv2.getPerspectiveTransform 透视变换函数解析
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/518335/
转载文章受原作者版权保护。转载请注明原作者出处!