Because of the spectral likeness of rocky and urban areas, I could not distinguish this two areas on my TM4 image, I used supervised classification on Erdas Imagine 9.1, but it did not work properly, any kind of help is appreciated.
One idea would be integrating texture information of rocky areas into the classification process to increase the seperability between classes. You can try the GLCM and Gabor texture features for this purpose. Another way would be using a higher spectral-resolution image, of course if it is possible. This will increase the chance to distinguish the rocky and urban areas. Also, you can use more advanced classification algorithms (such as the Support Vector Machines, Artificial Neural Networks, Random Forest, Rotation Forest etc.) to discern these classes. These classifiers have been proven to be more successful than conventional ones in most cases.
One way is to find out from literature which bands of TM4 can discriminate the two classes and compute features specifically from them as suggested above using GLCM or any other features..
If this does not optimally separate your classes, you can consider doing post classification using decision trees for instance in ENvi.
You can do this simply using a shapefile to reconvert classes classified as settlements in rocky areas to correct rocky class and vice versa.
In my opinion It is quite interesting if you do these classification through satellite imagery data. Wavelet transform may play an important role in feature extraction and SVM for classification. The problems is clearly defined. Only you need to select good learning data for training the models.
As said , Texture will be different for rocky and Urban. Further, Urban development is likely to have regular geometric sjhape objects.
Third, the 3D view like DEM (Document ELevation Model) will help identify rocks. If you use any GIS package you will have features for handling these issues.