What is the difference between edge detection and contour detection?
Apparently both techniques are used to detect boundaries of close shapes(whether oval shape or r rectangular shape)
Contour is the edge closing an object. So you can think as higher level of edge detection.
So if an edge define an object it becomes a contour.
I would consider the notion of edge, with respect to that of contour, in the same relation as words to a sentence. An edge is a distinctive element of an image (a color change, a border cut, a shadow, an occlusion). Here, from top to bottom: surface normal, depeth, illumination, shadow.
But sometimes, this does not fully takes advantage of the whole concept of objects, which requires higher-order methods, semantics, viewpoints, etc. Look at the following 3D object, which is relatively homogeneous and isolated edges:
While edges can be detected by relatively local tools (derivatives, Laplacien, thresholding, wavelets, Gabor functions etc.), contours often require more involved and global techniques: active contours, geodesic active gradients, etc.