To date, several methods have been presented for generating a skeleton from a binary image. Two prominent properties of a suitable skeleton are one-pixel width and high percentage of reconstruction. Accordingly, the binary objects can be classified into two classes. An object is in the first class iff it is possible to generate a skeleton which involves the preceding prominent properties. For the objects contained in this class, under the same circumstances all known skeletonization methods extract such a skeleton. The other objects are in the second class. In other words, for each object in the second class, the skeletonization methods cannot generate a skeleton which contains two preceding properties simultaneously. For example, the objects involving even-pixel width are in the second class. This deficiency goes back to the inherent discrete nature of digital objects. In this article, to overcome this deficiency, first we pad some pixels into the original image by a specific approach to produce a modified image. The modified image always lies in the first class (even if the original image is in the second class). Now, applying the skeletonization methods on the modified image extracts a suitable skeleton for the original image which contains one-pixel width and high percentage of reconstruction. We also present a novel skeletonization method based on a unique property called “critical point” that is defined by the directional derivative of distance function. The complexity of our proposed method applied on the modified images is less than the other known methods applied on the original images. Finally, we suggest some algorithms for reconstruction, erosion, dilation and pruning of an image via the given skeleton. The implementation of these algorithms is straightforward.