Skip to content

Application for the Sketch'n'Code Project, which facilitates the hand-drawing of fiducial markings with pre-determined encodings.

Notifications You must be signed in to change notification settings

jdajung/sketchncode

Repository files navigation

This is the code for the drawing application associated with the paper "Methods for Intentional Encoding of High Capacity Human-Designable Visual Markers" by Joshua Jung and Daniel Vogel, published at CHI 2018. It requires Python 2.7, OpenCV, and all of OpenCV's dependencies to run.

To run the application, download all files and dependencies, open a terminal, navigate to the project directory, and enter the following command:

python application.py



Optionally, you may specify a target encoding using one of the following commands, where the last token should be replaced with your desired encoding:

python application.py 10001 (encoding of 10001 in binary)

python application.py -2 10001 (also encoding of 10001 in binary)

python application.py -10 17 (encoding of 17 in decimal)

python application.py -36 g (encoding of G in base 36 [i.e. 17 in decimal])



The drawing application accepts the following keyboard shortcuts:

escape - closes the program

1 - changes draw colour to black

2 - changes draw colour to white (i.e. erase)

+ or > - increases size of brush

- or < - decreases size of brush

z - does one undo

shift+z - does one redo

shift+c - clears the canvas

tab - toggles the labelling tool

space - toggles the ordering tool

a - toggles the ambiguity tool

o - toggles the contour tool

m - change encoding modes

shift+s - saves the current canvas as a PNG

shift+l - loads the last saved PNG (WILL CLEAR THE CURRENT CANVAS, but is undoable)

shift+f - same as shift+s, but enters a 'failure' code in the log (used in study, but otherwise not needed)

shift+p - same as shift+s, but enters a 'practice' code in the log (used in study, but otherwise not needed)

shift+g - generate a random bitstring of length 10 (used in study, but otherwise not needed)

shift+h - generate a random bitstring of length 20 (used in study, but otherwise not needed)

About

Application for the Sketch'n'Code Project, which facilitates the hand-drawing of fiducial markings with pre-determined encodings.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages