computer vision assignments: edge detection, texture recognition, block matching