图像的几何变换中的函数简述

本文是学习opencv-python官方教程的函数总结
  • cv2.resize(src, dst, dsize, fx, fy, interpolation)
    参数:
    src:输入图像
    dst:输出图像,尺寸等于dsize或者通过缩放因子计算的尺寸
    dsize:输出图像尺寸。如果为空,dsize = fx*cols, fy*rows
    fx:横轴缩放因子
    fy:纵轴缩放因子
    interpolation:插值方法,常用cv2.INTER_LINEAR,cv2.INTER_CUBIC, cv2.INTER_AREA
    具体查看API

    介绍:
    调整图像尺寸。缩小图像,通常使用INTER_AREA插值看起来最佳,而放大图像时,通常
    使用INTER_CUBIC(慢)或INTER_LINEAR(更快但看起来还不错)看起来最佳。

    opencv-python中的运用:
    res = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
    res = cv2.resize(img, (2*width, 2*height), interpolation=cv2.INTER_CUBIC)
  • cv2.warpAffine(src, dst, M, dsize, flags=, borderMode, borderValue)
    参数:
    src:输入图像
    dst:输出图像,尺寸为dsize,类型与输入图像一样
    M:2*3大小的矩阵
    flags:插值方法的组合(默认为 INTER_LINEAR。当标志为WARP_INVERSE_MAP,意味着M是逆变换)
    borderMode:边缘像素模式(默认为 BORDER_CONSTANT)
    bordeValue:边界填充值(默认为黑色,图像经过变换后会出现黑边,如下图)

    介绍:
    对图像进行仿射变换。(正向仿射与反向仿射有点迷糊,以后更新)

    opencv-python中的运用:
    dst = cv2.warpAffine(img, m, (cols, rows))

  • cv2.getRotationMatrix2D(center, angle, scale)
    参数:
    center:图像的旋转中心
    angle:旋蒸角度
    scale:各向同性比例因子(缩放因子)

    介绍:
    计算一个2D旋转仿射矩阵

    opencv-python中的运用:
    m = cv2.getRotationMatrix2D(((cols-1)/2.0, (rows-1)/2.0), 90, 1)
  • cv2.getAffineTransform(src, dst)
    参数:
    src:原始图像的定位点矩阵
    dst:输出图像的定位点矩阵

    介绍:
    通过参数计算一个用于仿射变换的矩阵(需要三个定位点)

    opencv-python中的运用:
    pts1 = np.float32([[50, 50], [200, 50], [50, 200]])
    pts2 = np.float32([[10, 100], [200, 50], [100, 225]])
    m = cv2.getAffineTransform(pts1, pts2)
  • cv2.getPerspectiveTransform(src, dst, solveMethod)
    参数:
    src:原始图像的定位点矩阵
    dst:输出图像的定位点矩阵
    solveMethod:矩阵分解类型(暂不理解)

    介绍:
    通过参数计算一个用于仿射变换的矩阵(需要四个定位点)

    opencv-python中的运用:
    pts1 = np.float32([[30, 30], [30, 200], [200, 30], [200, 200]])
    pts2 = np.float32([[0, 0], [0, 220], [220, 0], [220, 220]])
    m = cv2.getPerspectiveTransform(pts1, pts2)
cv2.warpPerspective(src, dst, M, dsize, flags, borderMode, borderValue)
参数:
src:输入图像
dst:输出图像,尺寸为dsize,类型与输入图像一样
M:2*3大小的矩阵
flags:插值方法的组合(默认为 INTER_LINEAR。当标志为WARP_INVERSE_MAP,意味着M是逆变换)
borderMode:边缘像素模式(默认为 BORDER_CONSTANT)
bordeValue:边界填充值(默认为黑色,图像经过变换后会出现黑边)

介绍:
对图像进行透视变换

opencv-python中的运用:
dst = cv2.warpPerspective(img, m, (220, 220))

有不对的地方请指正。

转载于:https://www.cnblogs.com/tianyahai/p/10864718.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值