データベースを作る

こちらの記事は古くなっており非推奨となりました。
最新のドキュメントは以下から閲覧可能です。
・GitHub FACE01
・FACE01 document
今日は Face01 をベースとして、サンプルデータベースを作ってみたいと思います。
【追記】
最新のコードは「データベースと GUI のサンプルを紹介!」をご参照ください
顔認証システムを作るとき、なにはなくともデータベースは必要になると思います。今日は、データベースの作成とそこからデータを取り出す工程を簡単に説明したいと思います。
データベースのサンプルなので、 Python の標準モジュールである SQLite を使っていきます。
import face01 as f
import sqlite3
# Face01 を呼び出す
known_face_encodings, known_face_names = f.load_priset_image()
xs = f.face_attestation( known_face_encodings, known_face_names )
# SQLite の用意
con = sqlite3.connect('sample.db')
cursor = con.cursor()
cursor.executescript("""
DROP TABLE IF EXISTS data_set;
CREATE TABLE data_set(id integer, name, pict text, date)
""")
id = 1
persons = []
for x in xs:
persons.append( (id, x['name'], x['pict'], x['date']) )
# ~ con.commit()
id = id + 1
cursor.executemany("INSERT INTO data_set VALUES(?,?,?,?)", persons)
これで同じディレクトリに sample.db ができました。

次に、データベースからデータを読み込んでみます。
cursor.execute('SELECT * FROM data_set')
datas = cursor.fetchall()
for data in datas:
for n in data:
print n

結果は上図のようになりました。
また、各顔画像ファイルは以下のように保存されています。

以上のようにとても簡単にデータベースを作ることができました。
また、この時に保存された動画データは以下のようになります。
こちらの記事は古くなっており非推奨となりました。
最新のドキュメントは以下から閲覧可能です。
・GitHub FACE01
・FACE01 document