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

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

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

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

语法 :

numpy.save(file_name, arr)

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

加载时使用如下函数

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

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

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

语法:

numpy.savetxt('file_name', arr)

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

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

语法:

cv2.imwrite(file_name, m0)

例子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)

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

例子2:

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

居中并且带尺寸的图片(这里做了放大处理,三层色块): 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
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值