文件具有以下结构:
h
w
P1,1_r P1,1_g P1,1_b
P1,2_r P1,2_g P1,2_b
...
P1,w_r P1,w_g P1,w_b
P2,1_r P2,1_g P2,1_b
...
Ph,w_r Ph,w_g Ph,w_b
第一行包含一个整数h,它是图像的高度。第二行包含一个整数w,它是图像的宽度。接下来的h x w行包含像素值,作为与像素的红色、绿色和蓝色相对应的三个值的列表。像素列表按从上到下、从左到右的顺序排列。
如何使用np.genfromttxt将其转换为np.array?
如果你想以numpy数组的形式从.txt文件中读取数据,你需要首先读取文件数据,然后在生成的对象上使用np.genfromtext:
file = open("filename.txt")
#separate the first two lines containing h and w
hw = file.readlines(2)
# get h and w, as integers from hw by indexing them by line numbers
h = int(hw[0])
w = int(hw[1])
这使得file
的其余部分包含np.array和中的图像数据
figure = np.genfromtxt(file)