Consider a color image as a mapping from R2 (x, y) to R3 (r, g, b). The Jacobian of this mapping is
[ dr/dx dr/dy ] J = [ dg/dx dg/dy ] [ db/dx db/dy ]
Set the 2 x 2 matrix Q = J' * J. The eigenvector v corresponding to the greater eigenvalue of Q is the direction of maximum change at any given point, and the corresponding eigenvalue l is the square of the change in the magnitude of (r,g,b) in that direction.
Now, the Canny operator "detects edges at the zero-crossings of the second directional derivative of the smoothed image in the direction of the gradient where the gradient magnitude is above some threshold". [Nalwa, p.90]
Thus in the color method outlined above, sqrt(l) * v is the equivalent of Canny's "direction of the gradient." sqrt(l) is the gradient's magnitude; v is its direction.
The idea for the above was contributed by Professor Carlo Tomasi.