Going somewhere before going to the gym
This commit is contained in:
1 parent
f5b8e24e01
commit
236dd82871
4 files changed
+103
-63
No files matched your search
@@ -33,6 +33,7 @@ class SQLiteDataDumper(DataDumper):
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
file_name TEXT NOT NULL,
|
||||
file_sha256_hex TEXT NOT NULL,
|
||||
count INTEGER NOT NULL DEFAULT 1,
|
||||
|
||||
UNIQUE(file_sha256_hex)
|
||||
);
|
||||
@@ -44,6 +45,7 @@ class SQLiteDataDumper(DataDumper):
|
||||
timestamp_ DOUBLE PRECISION NOT NULL,
|
||||
index_ INTEGER NOT NULL,
|
||||
video_id INTEGER NOT NULL,
|
||||
nbr_detected_object INTEGER NOT NULL,
|
||||
|
||||
FOREIGN KEY(video_id) REFERENCES video(id),
|
||||
UNIQUE(video_id, index_)
|
||||
@@ -69,26 +71,33 @@ class SQLiteDataDumper(DataDumper):
|
||||
|
||||
def start(self, video_path: Path, hexa_hash: str) -> None:
|
||||
self._create_tables()
|
||||
|
||||
cur = self._conn.cursor()
|
||||
res = cur.execute("""
|
||||
INSERT INTO video(file_name, file_sha256_hex)
|
||||
VALUES (?, ?)
|
||||
ON CONFLICT(file_sha256_hex) DO NOTHING
|
||||
ON CONFLICT(file_sha256_hex) DO UPDATE SET count = count + 1
|
||||
RETURNING id
|
||||
""", (video_path.name, hexa_hash))
|
||||
self._video_id = res.fetchone()[0]
|
||||
self._conn.commit()
|
||||
|
||||
def _is_empty_df(self, df):
|
||||
return not df.shape[0]
|
||||
|
||||
@pa.check_io(df=TrackedDetectedObject)
|
||||
def write_boxes(self,
|
||||
df: pd.DataFrame,
|
||||
ts: VideoTimestamp,
|
||||
frame_index: int) -> None:
|
||||
if self._is_empty_df(df):
|
||||
return
|
||||
cur = self._conn.cursor()
|
||||
res = cur.execute('''
|
||||
INSERT INTO video_frame(timestamp_, index_, video_id )
|
||||
VALUES (?, ?, ?)
|
||||
ON CONFLICT(video_id, index_) DO NOTHING
|
||||
INSERT INTO video_frame(timestamp_, index_, video_id, nbr_detected_object )
|
||||
VALUES (?, ?, ?, 1)
|
||||
ON CONFLICT(video_id, index_)
|
||||
DO UPDATE SET nbr_detected_object = nbr_detected_object + 1
|
||||
RETURNING id
|
||||
''', (ts, frame_index, self._video_id))
|
||||
frame_id = res.fetchone()[0]
|
||||
|
||||
Reference in new issue
Block a user