Emily Yu Williams College Class of 2011 |
Looking at the projection images, I searched for horizontal ones that looked like this:
and vertical ones that looked like this:
The way I looked for these images was by using byte arrays of the difference images. I then searched through the arrays and counted the number of non-zero colums. If the number of non-zero columns in the x projection was between 13 and 30 and there were somewhere between 40 and 60 zero columns between the first and second non-zero areas AND the number of non-zero columns in the y projection was between 3 and 10, then a blink was detected.
At first, for better accuracy and speed, blinks were only detected in a smaller rectangular region:
The problem with this was that it was hard to reach all parts of the screen when both of the eyes needed to remain in the search region. So I edited the code so that blinks would be detected anywhere in the video frame. This worked for the most part, but ran into trouble when there was movement in the background of the video frame. This is when we decided that it might be more accurate to use template matching to detect blinks instead.
Forward
Back