Opencv————几何变换(扩展缩放、平移、旋转、仿射、透视)

本文详细介绍了如何使用OpenCV库在Python中进行图像的几何变换,包括扩展缩放、平移、旋转、仿射变换和透视变换。内容涵盖不同插值方法、变换函数及其参数解释,如cv2.resize()用于缩放,cv2.warpAffine()和cv2.warpPerspective()用于平移和变换,以及cv2.getRotationMatrix2D()用于旋转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 对图像进行各种几何变换,移动、旋转、仿射变换等
  • 学习的函数cv2.resize 缩放扩展,cv2.getRotationMatrix2D旋转,cv2.getAffineTransform(pts1,pts2)构造2x3矩阵和cv2.warpAffine 仿射变换,cv2.getPerspectiveTransform(pts1,pts2)构造3x3矩阵和cv2.warpPerspective 透视变换

导入包

import cv2
import numpy as np

扩展缩放

  • 缩放 推荐使用 cv2.INTER_AREA,基于局部像素的重采样,
  • 扩展 推荐使用 v2.INTER_CUBIC,基于4x4像素邻域的3次插值法 和 v2.INTER_LINEAR,双线性插值法(默认)。
img=cv2.imread('test.jpg')#读取图片
print('img.shape:',img.shape)
res=cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)# None 本应该是输出图像的尺寸,
# 但是因为后边我们设置了缩放因子,fx 和fy分别是水平轴和垂直轴上的比例因子,都扩大2倍,
print(res.shape)
# height,width=img.shape[:2]# dsize的形状是(w,h),而opencv读取出来的图像的形状是(h,w)
# res=cv2.resize(img,(2*width,2*height),interpolation=cv2.INTER_CUBIC)
while(1):
    cv2.imshow('img',img)
    cv2.imshow('res',res)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cv2.destroyAllWindows()

输出:
img.shape: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值