图像仿射变换 — OpenCV& Python

import cv2
import numpy as np

img_path = 'C:/Users/WZChan/Desktop/'
img = cv2.imread(img_path + 'Eason.jpg')

M_crop_Eason = np.array([
    [1.6, 0, -150],
    [0, 1.6, -240]
], dtype=np.float32)
img_Eason = cv2.warpAffine(img, M_crop_Eason, (350, 600))
cv2.imwrite(img_path + 'crop_Eason.jpg', img_Eason)

theta = 15 * np.pi / 180
M_shear = np.array([
    [1, np.tan(theta), 0],
    [0, 1, 0]
], dtype=np.float32)
img_sheard = cv2.warpAffine(img, M_shear, (350, 600))
cv2.imwrite(img_path + 'sheard_Eason.jpg', img_sheard)

M_rotate = np.array([
    [np.cos(theta), -np.sin(theta), 0],
    [np.sin(theta), np.cos(theta), 0]
], dtype=np.float32)
img_rotated = cv2.warpAffine(img, M_rotate, (350, 600))
cv2.imwrite(img_path + 'img_rotated.jpg', img_rotated)

M = np.array([
    [1, 1.5, -400],
    [0.5, 2, -100]
], dtype=np.float32)
img_transformed = cv2.warpAffine(img, M, (350, 600))
cv2.imwrite(img_path + 'img_transfromed.jpg', img_transformed)
crop_Eason.jpg
crop_Eason.jpg
img_rotated.jpg
img_transfromed.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容