Since edge detection is in the forefront of image processing for object detection, it is crucial to have a good understanding of edge detection algorithms. This paper introduces a new classification of most important and commonly used edge detection algorithms, namely ISEF, Canny, Marr-Hildreth, Sobel, Kirsch, Lapla1 and Lapla2. Five categories are included in our classification, and then advantages and disadvantages of some available algorithms within this category are discussed. A representative group containing the above seven algorithms are the implemented in C++ and compared subjectively, using 30 images out of 100 images. Two sets of images resulting from the application of those algorithms are then presented. It is shown that under noisy conditions, ISEF, Canny, Marr-Hildreth, Kirsch, Sobel, Lapla2, Lapla1 exhibit better performance, respectively.