我想创建一个.csv文件,以在python上使用face_recognition来加快我的面部识别程序的编码文件的加载。
当我的算法检测到新面孔时,他使用face_recognition生成了一个编码文件,然后:
with open('data.csv', 'a') as file:
writer = csv.writer(file)
writer.writerow([ID,new_face_reco])
我这样做是为了将代码发送到.csv文件。 (ID是我给面孔的一个随机名称,而new_face_reco是新面孔的编码)
但是我想在重新启动Progam时重新打开它,所以一开始我就拥有它:
known_face_encodings_temp = []
known_face_names_temp = []
with open('data.csv', 'rb') as file:
data = [row for row in csv.reader(file,delimiter=',')]
known_face_names_temp.append(np.array(data[0][0]))
essai = np.array(data[0][1].replace('\n',''))
known_face_encodings_temp.append(essai.tolist())
known_face_encodings=known_face_encodings_temp
known_face_name=known_face_names_temp
我有很多问题(这就是为什么这部分内容很多的原因)导致我的编码从.csv更改为重载。这是我得到的:
初始数据:
array([-8.31770748e-02, ... , -3.41368467e-03])
[当我尝试重新加载csv时(无需更改任何内容):
'[-1.40143648e-01 ... -8.10057670e-02\n 3.77673171e-02 1.40102580e-02 8.14460665e-02
7.52283633e-02]'
[当我尝试改变事物时我该怎么做:
'[-1.40143648e-01 ... 7.52283633e-02]'
我需要使加载数据与初始数据相同,该怎么办?
[而不是使用CSV文件,请尝试使用numpy(.npy)文件;它们更容易保存和加载。我已经在一个使用face_recognition模块的项目中亲自使用了它们,并很乐意为您提供帮助。
要保存编码,您可以:
np.save(path to save, encoding)
要加载编码,您可以:
encodingVariable = np.load(path to load)