图像img的像素为534*300,img.shape = (300, 534, 3)。

需要引入:
import cv2 as cv
import numpy as np
img.shape得到的(300, 534, 3),前者300是高度,y轴的值,后者534是宽度,x轴的值,这一点有些不同。
图像的xy轴,是以图像左上角顶点为(0, 0)原点,类似于css。从顶点沿宽度向右是x正轴,沿高度向下是y正轴。
一、平移变换
cv2.warpAffine() 仿射变换(从二维坐标到二维坐标之间的线性变换,且保持二维图形的“平直性”和“平行性”。仿射变换可以通过一系列的原子变换的复合来实现,包括平移,缩放,翻转,旋转和剪切) 参数: img: 图像对象 M:2*3 transformation matrix (转变矩阵) dsize:输出矩阵的大小,注意格式为(cols,rows) 即width对应cols,height对应rows flags:可选,插值算法标识符,有默认值INTER_LINEAR, 如果插值算法为WARP_INVERSE_MAP, warpAffine函数使用如下矩阵进行图像转dst(x,y)=src(M11*x+M12*y+M13,M21*x+M22*y+M23) borderMode:可选, 边界像素模式,有默认值BORDER_CONSTANT borderValue:可选,边界取值,有默认值Scalar()即0

本文介绍了Python中使用OpenCV进行图像仿射变换,包括平移、缩放、旋转和三点定位计算仿射变换矩阵。通过cv2.getAffineTransform()和cv2.warpAffine()实现图像的平移、缩放和旋转。此外,还探讨了三维透视变换,利用getPerspectiveTransform()和warpPerspective()进行四点定位的变换。
最低0.47元/天 解锁文章
443

被折叠的 条评论
为什么被折叠?



