aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2021-05-14 11:40:31 -0400
committerYour Name <you@example.com>2021-05-14 11:40:31 -0400
commit8c884838ced928d29a8436be8b2808766c5a1e53 (patch)
treef51869c128592a9d00f873f73a08df8ada49679c
parent5a6248518654ec97d95d2c463e3ffb4be7bbf456 (diff)
downloadannotator-8c884838ced928d29a8436be8b2808766c5a1e53.tar.gz
annotator-8c884838ced928d29a8436be8b2808766c5a1e53.tar.bz2
annotator-8c884838ced928d29a8436be8b2808766c5a1e53.zip
Changed extension from .txt to .csv
-rwxr-xr-xconfigure2
-rw-r--r--readme.md34
-rw-r--r--src/annotator.cc2
3 files changed, 36 insertions, 2 deletions
diff --git a/configure b/configure
index 9d1c65c..6bc70e1 100755
--- a/configure
+++ b/configure
@@ -12,7 +12,7 @@ LIBS="libconfuse opencv4"
CFLAGS="-c -Wall -fPIC -std=c++20"
-LDFLAGS="-pthread"
+LDFLAGS=
SOURCE_DIR="src"
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..9069fc8
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,34 @@
+# Annotator
+
+This is a simple tool for annotating (short) videos. It is designed to facilitate frame-level annotations, at the expense of having to load the entire video into memory. Future versions may relax this requirement.
+
+## Building
+
+Requirements are:
+
+ * libconfuse (for parsing config file)
+ * opencv (for video playback)
+
+Compile by running:
+
+```console
+./configure
+make
+```
+
+## Usage
+
+Available labels are configured in `annotator.conf`. Controls are as follows:
+
+ * Number keys: Make annotation
+ * Escape: Quit (doesn't save)
+ * Space: Pause
+ * Left arrow: Go backward 1 frame
+ * Right arrow: Go forward 1 frame
+ * Up arrow: Seek backard 1 second
+ * Down arrow: Seek forward 1 second
+ * u: Undo (WIP)
+ * r: Redo (WIP)
+ * Delete: Remove closest annotation to current frame
+ * s: Save (there is no autosave)
+
diff --git a/src/annotator.cc b/src/annotator.cc
index c74f04f..f1fccbc 100644
--- a/src/annotator.cc
+++ b/src/annotator.cc
@@ -36,7 +36,7 @@ int main(int argc, char *argv[]) {
// Format save path
auto savedir = std::filesystem::path("save") / p.parent_path().filename();
std::filesystem::create_directories(savedir);
- auto savepath = savedir / (p.stem().string() + ".txt");
+ auto savepath = savedir / (p.stem().string() + ".csv");
std::cout << "Saves are written to: " << savepath << std::endl;
std::shared_ptr<backend::labeller> labeller(new backend::labeller(savepath));
frontend::ui ui(playback, labeller);