im1 = Image.open('skeleton_median_8bpp.bmp') im2 = Image.open('binary_high.bmp') arr1 = np.array(im1) arr2 = np.array(im2) # 合并矩阵并保存为txt文件 mat = np.hstack((arr1.reshape(-1, 1), arr2.reshape(-1, 1))) np.savetxt('mat.txt', mat, fmt='%.2f'),修改程序,将两幅图像的矩阵保存在两个txt文件中,txt文件每行数据只对应一个矩阵的(i,j)信息
时间: 2024-03-22 21:37:01 浏览: 58
以下是修改后的程序,可以将两幅图像的矩阵保存在两个txt文件中,每行数据只对应一个矩阵的(i,j)信息:
```python
import numpy as np
from PIL import Image
# 读取图像文件并转换为矩阵
im1 = Image.open('skeleton_median_8bpp.bmp')
im2 = Image.open('binary_high.bmp')
arr1 = np.array(im1)
arr2 = np.array(im2)
# 保存矩阵1为txt文件
with open('mat1.txt', 'w') as f:
for i in range(arr1.shape[0]):
for j in range(arr1.shape[1]):
f.write('{} {} {}\n'.format(i, j, arr1[i][j]))
# 保存矩阵2为txt文件
with open('mat2.txt', 'w') as f:
for i in range(arr2.shape[0]):
for j in range(arr2.shape[1]):
f.write('{} {} {}\n'.format(i, j, arr2[i][j]))
```
在上述代码中,首先使用PIL库的Image模块读取名为"skeleton_median_8bpp.bmp"和"binary_high.bmp"的图像文件,并将它们转换为numpy数组。然后,分别使用Python的with语句打开名为"mat1.txt"和"mat2.txt"的txt文件,并使用两个嵌套的for循环将矩阵中的每个元素的(i,j)信息和对应的值逐行写入txt文件中。
在保存arr1和arr2时,每个txt文件中的每行数据只对应一个矩阵的(i,j)信息和对应的值,其中每个元素之间用空格隔开。
阅读全文