Early osteoporosis diagnosis is of important significance for reducing fracture risk. Image analysis provides a new perspective for noninvasive diagnosis in recent years. In this article, we propose a novel method based on machine-learning method performed on micro-CT images to diagnose osteoporosis. The aim of this work is to find a way to more effectively and accurately diagnose osteoporosis on which many methods have been proposed and practiced. In this method, in contrast to the previously proposed methods in which features are analyzed individually, several features are combined to build a classifier for distinguishing osteoporosis group and normal group. Twelve features consisting of two groups are involved in our research, including bone volume/total volume (BV/TV), bone surface/bone volume (BS/BV), trabecular number (Tb.N), obtained from the software of micro-CT, and other four features from volumetric topological analysis (VTA). Support vector machine (SVM) method and k-nearest neighbor (kNN) method are introduced to create classifiers with these features due to their excellent performances on classification. In the experiment, 200 micro-CT images are used in which half are from osteoporosis patients and the rest are from normal people. The performance of the obtained classifiers is evaluated by precision, recall, and F-measure. The best performance with precision of 100%, recall of 100%, and F-measure of 100% is acquired when all the features are included. The satisfying result demonstrates that SVM and kNN are effective for diagnosing osteoporosis with micro-CT images.