当前位置:   article > 正文

地震数据的Python各种输出方式_python合成地震记录

python合成地震记录

地震数据的Python各种输出方式

在进行地震数据处理时,注意到切片得出的二维numpy数据,其保存输出有多种保存方法,以下对Python各方法保存进行说明

1.numpy.save() 保存为 .npy/.npz

语法 :

numpy.save(file_name, arr)
  • 1

参数:
file_name : 数据被保存到的文件或文件名。如果文件是一个字符串或路径,如果它还没有扩展名,将在文件名上添加一个 .npy扩展名。如果文件是一个文件对象,那么文件名将不会改变。
arr :要保存的阵列数据。

加载时使用如下函数

numpy.load('img.npy') #这里'img.npy'为加载的数据文件名
  • 1

numpy.save的详细使用点击此链接

2.numpy.savetxt() 保存为.txt文件

语法:

numpy.savetxt('file_name', arr)
  • 1

在保存的numpy数组较大时,无法在Python中直接查看全部,可以保存出txt文件进行查看。

3.cv2.imwrite() 保存为.png图片

语法:

cv2.imwrite(file_name, m0)
  • 1

例子1:

import cv2
arr0 = np.array([[0.01,0.02,0.03], [0.01,0.02,0.03], [0.01,0.02,0.03]])
cv2.imwrite('arr0.png', arr0)
  • 1
  • 2
  • 3

保存出的图片为:
Alt
由于只有一个通道,保存出来的为灰度图,这里我们的数值都接近0,故保存出来为黑色方块

例子2:

import cv2
arr1 = np.array([[0,0,0], [300,300,300], [100,100,100]])
cv2.imwrite('arr1.png', arr1)
  • 1
  • 2
  • 3

居中并且带尺寸的图片(这里做了放大处理,三层色块): Alt

4.matplotlib中pyplot()的 comp=‘seismic’ 格式图片

此方法本质为保存出适合于seismic热度图,用于报告等展示效果更好。

from matplotlib import pyplot as plt

arr0 = np.array([[0.01,0.02,0.03], [0.01,0.02,0.03], [0.01,0.02,0.03]])
fig = plt.figure('comp_arr0', dpi=300, figsize=(7, 2.5))

plt.imshow(arr0,
           vmin=-.8,
           vmax=.8,
           aspect=1,
           cmap="seismic",
           alpha=1.0,
           resample=True,
           interpolation = "lanczos")
           
#设置坐标轴不显示
# plt.axis('off') 
plt.colorbar(fraction=0.1145,
             pad=0.01)

plt.savefig(os.path.join(save_dir, 'comp_arr1.png'),
                    format="png",
                    bbox_inches="tight",
                    dpi=300)
plt.show()
plt.close(fig)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

请添加图片描述
这时保存的图像并不是数据的灰度值,而是进行处理后便于视觉观看的显示。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/883289
推荐阅读
相关标签
  

闽ICP备14008679号