一、翻转
二、缩放、平移和旋转
- 仿射变换理论
一、翻转
import cv2
imgpath = './exp.jpg'
img = cv2.imread(imgpath)
# 水平翻转
img_fliped = cv2.flip(img, 1)
cv2.imwrite('./img_fliped.jpg', img_fliped)
原图
水平翻转
二、缩放、平移和旋转
import cv2
import numpy as np
imgpath = './exp.jpg'
img = cv2.imread(imgpath)
h, w, c = img.shape
# 缩放
A1 = np.array([[0.5, 0, 0], [0, 0.5, 0]], np.float32) # 定义仿射变换矩阵
img1 = cv2.warpAffine(img, A1, (w, h), borderValue=125) # 根据转换矩阵进行仿射变换,4个参数分别是输入图像、转换矩阵、输出尺寸和背景填充颜色。
cv2.imwrite('./img1.jpg', img1)
# 缩放、平移
A2 = np.array([[0.5, 0, w/4], [0, 0.5, h/4]], np.float32)
img2 = cv2.warpAffine(img, A2, (w, h), borderValue=125)
cv2.imwrite('./img2.jpg', img2)
# 缩放、平移基础上旋转
M = cv2.getRotationMatrix2D((w / 2.0, h / 2.0), 90, 1) # 自动计算仿射变换矩阵,三个参数分别是旋转中心、旋转角度和缩放比例
img3 = cv2.warpAffine(img2, M, (w, h), borderValue=125)
cv2.imwrite('./img3.jpg', img3)
原图
缩放
缩放、平移
缩放、平移和旋转
待补充
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)