【Python】opencv图像仿射变换

【Python】opencv图像仿射变换,第1张

opencv图像仿射变换

  • 一、翻转


  • 二、缩放、平移和旋转

  • 仿射变换理论



一、翻转

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)


原图

缩放

缩放、平移

缩放、平移和旋转

仿射变换理论

待补充

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570463.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存