データベースを作る

データベース

こちらの記事は古くなっており非推奨となりました。
最新のドキュメントは以下から閲覧可能です
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 ができました。

出来上がった sample.db
出来上がった 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