我正在加载带有以下代码的.csv文件:
import csv
import numpy as np
import scipy.spatial
points = np.array([((int(R), int(G), int(B)),float(X), float(Y), float(Z))
for R, G, B, X, Y, Z in csv.reader(open('XYZcolorlist_D65.csv'))])
# load R,G,B,X,Y,Z coordinates of 'points' in a np.array
print points
而且效果很好。在
但是,如果我再加上这一行,我试图用scipy
:http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.Delaunay.html计算Delaunay三角剖分
我收到以下错误消息:
Traceback (most recent call last):
File "C:\Users\gary\Documents\EPSON STUDIES\delaunay.py", line 15, in <module>
tri = scipy.spatial.Delaunay(points[1, 2, 3])
IndexError: too many indices
显然语法scipy.spatial.Delaunay(points[1, 2, 3])
不正确。在
我做错什么了?在
编辑:
如果更容易处理,我也可以使用这行来导入(np数组应该是相同类型的数据吗?)在
points = np.array([(float(R), float(G), float(B), float(X), float(Y), float(Z))
for R, G, B, X, Y, Z in csv.reader(open('XYZcolorlist_D65.csv'))])
# load R,G,B,X,Y,Z coordinates of 'points' in a np.array
然后我需要跳过每行的前3个值。。。在
我不知道你到底想做什么,但也许是这样的…你可以用你的csv阅读器替换file_txt。在
错误在于
numpy
数组的切片。要获得点的坐标,任何一种版本的代码都可以。在代码的第一个版本,其中
points
的第一列是RGB值的元组:第二个版本中,RGB值被展平,占据3列,您需要跳过三列:
^{pr2}$实际上,您可以使用
^{3}$np.loadtxt
读取数据(生成第二个版本):相关问题 更多 >
编程相关推荐