All information stored by storage interface 113 can later be retrieved by storage interface 113 and provided to image analysis system 100 that can perform various image processing tasks, examples of which are provided below. It should be evident to a person skilled in the art that by storing only limited amount of data for each superpixel, such as storing its clustering information without storing its feature vector containing its image features, significant reductions in memory consumption and in storage/retrieval times can be achieved. To illustrate with an example, let N be the number of superpixels generated for a given image; M be the number of image features extracted for each superpixel; U be the number of bytes representing each image feature; and K be the number of clusters. Thus, the original feature vectors for all superpixels occupy N×M×U bytes. In contrast, it would take only N×U bytes to store the clustering information for each superpixel, K×M×U bytes to store the centroid vectors of all clusters, and K*(K?1)/2×U bytes to store the distances between each two clusters. Thus, using the techniques described herein, a data compression ratio of at least N×M/(N+K×M+K×(K?1)/2) can be achieved if centroid vectors are stored, and a compression ratio of at least N×M/(N+K×(K?1)/2) can be achieved if centroid vectors are not stored.