NOTE: The following software is provided for research purposes only. You may not distribute this software in any form without the prior approval of the University of California.

NOTE: The following files are NOT well documented and organized, so use them at your own risk. Some test images can be found here

Feature Extraction and Gabor Filtering:

This directory contains the codes for Gabor filtering and texture feature extraction. The strategy of constructing the Gabor filter bank is based on our paper:

  1. B. S. Manjunath and W.Y. Ma,
    "Texture features for browsing and retrieval of image data"
    IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI - Special issue on Digital Libraries), vol. 18, no. 8, pp. 837-42, Aug. 1996.
    VRL ID 36: [abstract] [PDF] [BibTex]

    Abstract preview: "Image content based retrieval is emerging as an important research area with application to digital libraries and multimedia databases. The focus or this paper is on the image processing aspects and ..." [more]

The main program is Gabor.c and matrix.c, and xGabor.c is an example program which shows how to call the Gabor.c function. To compile, type gcc xGabor.c Gabor.c matrix.c -lm Note that the format of input image data is raw (no header, and 1 byte per pixel). see.m is provided to help you view the result (Gabor.R) using matlab. 

output.i / output.r / matrix.h

Matlab Examples

extract_brodatz.m - This program is used to extract the texture features from the 116 Brodatz album texture (49 128x128 images are obtained per class). Brodatz images are not available on this site. 

Fea_Gabor_brodatz.m  - This function compute the image features for each Gabor filter output, it is used for PAMI paper.

gabor.m - This function generate the spatial domain of the Gabor wavelets which are specified by number of scales and orientations and the maximun and minimun center frequency.

loadimg.m - Load a binary raw image file (default = 128x128),  i.e.: A = loadimg('image_name',[width heigth]);

extractName.m - This function extracts names for input images (listed in InputImageNames.m and OutputTextureNames.m). Listed examples are not available.