Texture Classification via DCT How viable would it be to classify the texture of an image using features from a discrete cosine transform? Googling "texture classification dct" only finds a single academic paper on this topic, using a neural network.

For my application, I have a large corpus of labeled images, in which the entire image is a consistent texture (e.g. close-up shots of a blanket, tree bark, a grassy field, etc).

Inspired by a response to a previous question, I was considering the following approach:


split up each image into NxN blocks of pixels
take the DCT of each block
flatten each DCT into a 1xM array and feed it to a K-Means clustering algorithm, and get the cluster label for each DCT
calculate a histogram of clustering labels for each image by counting each label per image from #3
train a SVM classifier by feeding it a set of [(histogram,image label)]


How well would this work? I implemented a similar system, using features extracted via the SIFT/SURF algorithms, but I was only able to get about 60% accuracy.

In what other ways could I use the DCT to classify textures?
So far what you are proposing sounds like a reasonable approach. However, I don't think you will know how well it works until you try it, just like you have tried SIFT.

I have a question though.  Why are you restricting yourself to DCT?  There are lots of representations that have been used for texture classification: co-occurrence matrices, local binary patterns, etc.  The fact that you have only found one paper on using DCT for texture classification would suggest that this is not the most commonly used feature for this problem.  I would recommend that you widen your literature search to see what other features people have used, and how well they have worked.