def perspective(src):
    (img_h, img_w) = src.shape[:2]
    thresh = (img_h // 2)
    src_pts = list()
    dst_pts = list()
    src_pts.append([0, 0])
    src_pts.append([img_w, 0])
    src_pts.append([img_w, img_h])
    src_pts.append([0, img_h])
    dst_pts.append([0, np.random.randint(thresh)])
    dst_pts.append([img_w, np.random.randint(thresh)])
    dst_pts.append([img_w, (img_h - np.random.randint(thresh))])
    dst_pts.append([0, (img_h - np.random.randint(thresh))])
    trans = WarpMLS(src, src_pts, dst_pts, img_w, img_h)
    dst = trans.generate()
    return dst
def perspective(src):
    (img_h, img_w) = src.shape[:2]
    thresh = (img_h // 2)
    src_pts = list()
    dst_pts = list()
    src_pts.append([0, 0])
    src_pts.append([img_w, 0])
    src_pts.append([img_w, img_h])
    src_pts.append([0, img_h])
    dst_pts.append([0, np.random.randint(thresh)])
    dst_pts.append([img_w, np.random.randint(thresh)])
    dst_pts.append([img_w, (img_h - np.random.randint(thresh))])
    dst_pts.append([0, (img_h - np.random.randint(thresh))])
    trans = WarpMLS(src, src_pts, dst_pts, img_w, img_h)
    dst = trans.generate()
    return dst