# Computer Vision Lab 2 For National University of Singapore (NUS) module CS4243 Computer Vision. All programs are written in Python, making use of numpy, cv2 and matplotlib libraries, and run on Jupyter Notebook. **Learning Objectives & Implemented Functions:** * Canny edge detection * Explore the effects of different sigma of Gaussian kernel used to blur the image in pre-processing stage * Estimate gradients using Sobel filters * Perform non-maximum suppression to obtain single-pixel wide gradients * Perform hysteresis thresholding and edge-linking to obtain edges * Line and circle detection using Hough transform and voting * Additionally, leverage gradient information to reduce number of votes cast for circle detection (vote only along gradient orientation) * Explore the effects of weighted voting and different bin sizes Note: the exact questions can be found in the PDF lab sheet. To visualise the results of the above functions, the output obtained from running on sample input can be found in the ipynb file.