# HCI/CprE/ComS 575: Homework #3

Your Name
< Your Email>

For your output files to display in the HTML template, you will have to save/ convert them to H.264 (*.mp4).
If you are having troubles with H.264, try downloading this DLL and placing it in the folder with the binary (I believe you need version 1.8).
Alternatively, you can install FFMPEG and use it to convert your .avi files to .mp4 using the command below.

FFMPEG Command

####

    ffmpeg -i input.m4v -c:a aac -b:a 128k -c:v libx264 -crf 23 output.mp4

Do not waste time on this.
If you are unable to get these formats working within a few minutes, you are free to pick a different format or to let OpenCV pick its default - .avi is common.
FOURCC codes

####

    VideoWriter::fourcc('H','2','6','4')// For H.264

## Part 1a

Write a Matlab program to find all words in the provided static images and draw rectangles around them. Save each result in a separate image file.

Source

Note: change the file name to link your code

## Part 1b

Do the same, but now use OpenCV.

Source

Note: change the file name to link your code

## Part 2a

Write a Matlab program to detect the words in the selected/highlighted squares. Then overlay the image with the coordinates of those grid squares, e.g., (1,4), (2,1), (2,4) and (3,3) for the first test image. Also, print the coordinates in plain text on the console.

Source

Note: change the file name to link your code

## Part 2b

Repeat the task from a), but now use OpenCV.

Source

Note: change the file name to link your code

## Part 3a

Write a program that changes the highlight color for selected words from gray to blue before writing the result to the output video.

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code

## Part 3b

Write a program that detects when the purple group tile appears (light blue in the second input) and then changes all pixels with this color to light brown. Save your result as a new output video file.

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code

## Part 4a

The game gives you four chances to solve the puzzle. Write a program that detects the number of remaining chances (gray circles) and augments the video frame with a red integer that is equal to that count. Save your result to a new output video.

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Third input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code

## Part 4b

For each video below, print/overlay with text the color of the group block for each successful choice. e.g. Blue, Yellow, Green, Purple.

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Third input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code

## Part 5a

Write a program that detects all movement in the input video and outputs the motion history as a new video. That is, the output video must contain only the pixels that moved in the last T frames and their color must reflect how recent was their movement (bright white most recent; dark gray most distant).

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Third input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code

## Part 5b

Write a program that tracks which selected squares moved and overlays the output video with their trajectories. That is, plot a line that tracks the center of each grid as it moves on the screen.

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Third input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code

## Extra Credit 1

Use your favorite screen capture program to record two short video clips of you playing your favorite game (you can pick something from https://www.247games.com/ if you a not a gamer). Then write a program that tracks something based on color and movement detection. Save the result as a separate video.

First input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Second input video.

Your browser does not support HTML5 video.
Your browser does not support HTML5 video.

Source

Note: change the file name to link your code