透视变换Resize图像尺寸

今日在读取代码时,发现我们平时数据增强Resize方法,除了CV最近邻、双线性、上下采样方法等,也有图像透视变换等方法,但很少用在深度学习中的数据增强Resize处理,

为此本文将记录这一方法,将透视变换用于模型输入Resize方法,因其简单,我将直接放入代码与结果:

代码如下:

 

import numpy as np
import cv2
import matplotlib.pyplot as plt
def show_img(img):
    plt.imshow(img)
    plt.show()

def affine(img, affine_size=(2048, 2048)):
    src, dst = np.zeros((3, 2), dtype=np.float32), np.zeros((3, 2), dtype=np.float32)
    h, w = img.shape[:2]
    affine_w, affine_h = affine_size[0], affine_size[1]
    src[0, :], src[1, :], src[2, :] = [0, 0], [w, 0], [w, h]
    dst[0, :], dst[1, :], dst[2, :] = [0, 0], [affine_w, 0], [affine_w, affine_h]
    trans_input = cv2.getAffineTransform(np.float32(src), np.float32(dst))
    affine_img = cv2.warpAffine(img, trans_input, (affine_w, affine_h), flags=cv2.INTER_LINEAR)
    return affine_img



if __name__ == '__main__':
    root = r'C:\Users\Administrator\Desktop\company_data\a\50.jpg'
    img = cv2.imread(root)
    affine_img=affine(img)
    print(img.shape,affine_img.shape)
    show_img(img)
    show_img(affine_img)


 

posted @ 2022-06-19 17:04  tangjunjun  阅读(124)  评论(0编辑  收藏  举报
https://rpc.cnblogs.com/metaweblog/tangjunjun