cv2.getPerspectiveTransform 透视变换函数解析

简介

透视变换(Perspective Transformation)是将成像投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。如图,通过透视变换ABC变换到A’B’C’。

cv2.getPerspectiveTransform 透视变换函数解析

; 函数解析

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球