gpt4 book ai didi

使用numpy实现矩阵的翻转(flip)与旋转

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 33 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章使用numpy实现矩阵的翻转(flip)与旋转由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

numpy.flip(m, axis=None)

Reverse the order of elements in an array along the given axis. 。

The shape of the array is preserved, but the elements are reordered. 。

把m在axis维度进行切片,并把这个维度的index进行颠倒 。

示例 。

随机生成一个二维数组 。

?
1
2
import  numpy as np
a = np.random.randint( 1 , 9 ,size = 9 ).reshape(( 3 , 3 ))

[[5 8 6] [3 1 7] [8 7 8]] 。

axis=0:上下翻转,意味着把行看成整体,行的顺序发生颠倒,每一行的元素不发生改变 。

?
1
print (np.flip(a,axis = 0 ))

[[8 7 8] [3 1 7] [5 8 6]] 。

axis=1:左右翻转,意味着把列看成整体,列的顺序发生颠倒,每一列的元素不发生改变 。

?
1
print (np.flip(a,axis = 1 ))

[[6 8 5] [7 1 3] [8 7 8]] 。

Numpy矩阵的旋转

使用skimage.io读出来的图片是numpy.darray格式,掌握numpy矩阵的旋转与翻转,可实现数据增广(data augmentation).

可用rot90函数实现,例子如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy as np
mat = np.array([[ 1 , 3 , 5 ],
                 [ 2 , 4 , 6 ],
                 [ 7 , 8 , 9 ]
                 ])
print mat, "# orignal"
mat90 = np.rot90(mat, 1 )
print mat90, "# rorate 90 <left> anti-clockwise"
mat90 = np.rot90(mat, - 1 )
print mat90, "# rorate 90 <right> clockwise"
mat180 = np.rot90(mat, 2 )
print mat180, "# rorate 180 <left> anti-clockwise"
mat270 = np.rot90(mat, 3 )
print mat270, "# rorate 270 <left> anti-clockwise"

如果mat是图片,那么可视化效果更好.

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/Jinyindao243052/article/details/104033429 。

最后此篇关于使用numpy实现矩阵的翻转(flip)与旋转的文章就讲到这里了,如果你想了解更多关于使用numpy实现矩阵的翻转(flip)与旋转的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com