Edge Detection and Image Segmentation
Last lab session, we made programs that detected edges found in images and segmented others depending on a region we were interested in. In this activity, we defined edges to be local regions in an image where a significant shift in brightness occurs [1]. Having said that, we can consider images to be a scalar field having particular brightness value at every pixel. How do we then know when there is a significant shift in brightness, i.e. there is an edge? Since we consider an image to be a scalar field, then to know if there is a shift in brightness, we just take the gradient of that scalar field. How do we then take the gradient of an image? Simple, convolve the image with operators. In detecting edges, we made use of two operators, the Prewitt \(P\) and Sobel \(S\) edge operators, given as: \begin{equation}\begin{split}\text{Prewitt}\hspace{1.25cm}P_x=\begin{bmatrix}-1 & -1 & -1 \\ 0 & 0 & 0 \\ 1 & 1 & 1\end{bmatrix} \hspace{0.75cm} P_y=\begin{bmatrix}...