jtanx / picopterx

FYP 2015 Hexacopter project 🚁🚁🚁🚁
2 stars 1 forks source link

Glyph detection #94

Closed jtanx closed 8 years ago

jtanx commented 8 years ago

Closes #89. Closes #86. There are two types of glyph detection:

Canny glyph detection uses edge detection to determine contours for potential glyphs. Thresholding glyph detection uses our pre-existing thresholding algorithm to find contours for potential glyphs.

Thresholding glyph detection is faster, but (a) you must know the general colour of the glyph you want to detect (and this colour must form a squre) and (b) generally doesn't pick up glyphs as well, especially if they're closely spaced. Probably not much of an issue out in the field if (a) is ok.

Both methods both make use of template matching (cv::matchTemplate) to perform glyph comparison. Glyph matching at a high level is O(n) on the number of glyphs loaded into the system. Seems to work okay, but it may fail to differentiate glyphs that differ only by e.g. colour.