基础操作
插入元素
np.insert
np.insert(arr, obj, values, axis)
#arr原始数组,可一可多,obj插入元素位置,values是插入内容,axis是按行按列插入。
计算两点距离
- 欧式距离:
vec1 # [N, 2]
vec2 # [N, 2]
np.sqrt(np.sum(np.square(vec1-vec2), axis=-1))
>>> pts
array([[144.63920581, 1.33333333],
[183.29429398, 357.41075286],
[178.0554849 , 352.42292716],
[176.00022123, 339.53192254],
[137.78552082, 1.33333333]])
>>> np.sqrt(np.sum(np.square(pts[:-1]-pts[1:]), axis=-1))
array([358.16943552, 7.23350025, 13.05381587, 340.35077357])
矩阵操作
示例图像(后续效果演示均以此图像为基准):
gt_map.shape # (3, 200, 400)
矩阵旋转
numpy.rot90(m, k=1, axes=(0, 1))
m
:输入矩阵;k
:顺时针(正数)/逆时针(负数)旋转的次数;axes
:旋转哪维度(图片一般为两个);
# 旋转90度
gt_map = np.rot90(gt_map, k=1, axes=[1,2])
gt_map.shape # (3, 400, 200)
矩阵镜像(flip)
numpy.flip(m, axis=None)
m
:输入矩阵;axis
:指定维度;
# 继续将上图进行短边镜像
gt_map.shape # (3, 400, 200)
gt_map = np.flip(gt_map, axis=[2])