Smooth the image with a gaussian filter to remove noise.
Find gradients with max intensity (above a certain threshold).
Apply non-maximum suppression to get rid of spurious response to edge detection (by finding the peaks in the gradients detected above the certain threshold, so it basically is the maximum of each gradient found in it’s local direction), sometimes interpolation is done to help and evan assume the max gradient.
Apply double threshold to determine potential edges(determine strong pixels and link them together to form strong edges).
Track the edges by suppressing all the other edges that have only weak pixels and not connected to strong (pixel) edges.(weak pixels/edges are ones that are above a certain threshold but not good as strong pixel/edges).