numpy——矩阵用法总结
原创
©著作权归作者所有:来自51CTO博客作者IrvingGao的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
基础操作
插入元素
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])