Python3+OpenCV2实现图像的几何变换(2)

import cv2 import numpy as np img = cv2.imread('linuxidc.com.jpg', 1) cv2.imshow('src', img) imgInfo = img.shape height= imgInfo[0] width = imgInfo[1] deep = imgInfo[2] # src 3 -> dst 3 (左上角, 左下角,右上角) matSrc = np.float32([[0,0],[0,height-1],[width-1, 0]]) # 需要注意的是 行列 和 坐标 是不一致的 matDst = np.float32([[50,50],[100, height-50],[width-200,100]]) matAffine = cv2.getAffineTransform(matSrc,matDst) #mat 1 src 2 dst 形成组合矩阵 dst = cv2.warpAffine(img, matAffine,(height, width)) cv2.imshow('www.linuxidc.com',dst) cv2.waitKey(0)

需要确定图像矩阵的三个点坐标,及(左上角, 左下角,右上角).定义两个矩阵,matSrc 为原图的三个点坐标,matDst为进行仿射的三个点坐标,通过cv2.getAffineTransform()形成组合矩阵.效果如下:

Python3+OpenCV2实现图像的几何变换

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/09b58a2c28a610d18f072efa21b3ec33.html