import numpy as np import cv2 src = cv2.imread("E:\matlab_prj\photo\IMAGE_1_17.jpg", 0) cv2.imshow("src", src) imginfo = src.shape height = imginfo[0] width = imginfo[1] #图像缩放 """ matScale = np.float32([[0.5, 0, 0], [0, 0.5, 0]]) dst = cv2.warpAffine(src, matScale, (int(width/2), int(height/2))) """ #图像仿射变换 (左上角 左下角 右上角) """ matSrc = np.float32([[0, 0], [0, height-1], [width-1, 0]]) matDst = np.float32([[0, 0], [width/2, height/2], [width/2, 0]]) #组合 matAffine = cv2.getAffineTransform(matSrc, matDst) #获取矩阵组合 dst = cv2.warpAffine(src, matAffine, (width, height)) """ #图像旋转 定义旋转矩阵 2*3 matRotate = cv2.getRotationMatrix2D((height*0.5, width*0.5), 45, 0.5)#mat rotate 1 center 2 angle 2 sc缩放 dst = cv2.warpAffine(src, matRotate, (height, width)) cv2.imshow("dst", dst) cv2.waitKey(0)
python opencv图片的缩放、旋转及仿射变换
最新推荐文章于 2023-07-21 14:46:57 发布