怎样制作微信网站,湘西网站制作,广州设计公司排行榜,凡科商城官网旗舰店『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】34. 图像的投影变换 投影变换#xff08;Projective mapping#xff09;也称透视变换#xff08;Perspective transformation#xff09;是建立两平面场之间的对应关系#xff0c; 将图片投影到…『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】34. 图像的投影变换 投影变换Projective mapping也称透视变换Perspective transformation是建立两平面场之间的对应关系 将图片投影到一个新的视平面Viewing plane。
OpenCV 提供了 cv2.warpPerspective 函数实现投影变换的操作。
函数说明
cv2.getPerspectiveTransform(src, dst[,solveMethod]) → MP
cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst函数cv2.getPerspectiveTransform 根据图像中不共线的 4 个点在变换前后的对应位置求得 (3x3) 变换矩阵cv2.warpPerspective 使用该 (3x3) 变换矩阵即可求出变换后的图像。标量进行加法运算。
参数说明
src变换前图像四边形顶点坐标dst变换后图像四边形顶点坐标solveMethod矩阵分解方法传递给 cv2.solve 求解变换矩阵 MP cv2.DECOMP_LU选择最优轴的高斯消去法默认方法cv2.DECOMP_SVD奇异值分解SVD方法cv2.DECOMP_EIG特征值分解方法src 必须对称cv2.DECOMP_QRQR正交三角分解cv2.DECOMP_CHOLESKYCholesky LLT 分解 MP透视变换矩阵3行3列dsize 输出图像的大小二元元组 (width, height)dst变换操作的输出图像可选项flags插值方法整型int可选项 cv2.INTER_LINEAR线性插值默认选项cv2.INTER_NEAREST最近邻插值cv2.INTER_AREA区域插值cv2.INTER_CUBIC三次样条插值cv2.INTER_LANCZOS4Lanczos 插值 borderMode边界像素方法整型int可选项默认值为 cv2.BORDER_REFLECTborderValue边界填充模式可选项默认值为 0黑色填充返回值dst透视变换操作的输出图像ndarray 多维数组 基本例程1.43 图像的投影变换 # 1.43 投影变换 (Projective mapping)img cv2.imread(../images/imgB2.jpg) # 读取彩色图像(BGR)h, w img.shape[:2] # 图片的高度和宽度pointSrc np.float32([[0,0], [w-1,0], [0,h-100], [w-1, h-100]]) # 原始图像中 4点坐标pointDst np.float32([[180,50], [w-180,50], [0,h-100], [w-1, h-100]]) # 变换图像中 4点坐标MP cv2.getPerspectiveTransform(pointSrc, pointDst) # 计算投影变换矩阵 MimgP cv2.warpPerspective(img, MP, (512, 512)) # 用变换矩阵 M 进行投影变换plt.figure(figsize(9,6))plt.subplot(121), plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)), plt.title(Original)plt.subplot(122), plt.imshow(cv2.cvtColor(imgP, cv2.COLOR_BGR2RGB)), plt.title(Projective)plt.show()本节完 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125112487) Copyright 2022 youcans, XUPT Crated2021-11-18 【第3章图像的几何变换】
31. 图像金字塔cv2.pyrDown 33. 图像的复合变换 34. 图像的投影变换