Face_Recognition问题加载编码文件

问题描述 投票:0回答:1

我想创建一个.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]'

我需要使加载数据与初始数据相同,该怎么办?

python opencv numpy-ndarray face-recognition
1个回答
0
投票

[而不是使用CSV文件,请尝试使用numpy(.npy)文件;它们更容易保存和加载。我已经在一个使用face_recognition模块的项目中亲自使用了它们,并很乐意为您提供帮助。

要保存编码,您可以:

np.save(path to save, encoding)

要加载编码,您可以:

encodingVariable = np.load(path to load)
© www.soinside.com 2019 - 2024. All rights reserved.