Microarrays are miniature arrays of gene fragments attached to glass chips. Microarrays allow the detection of subtle differences in genome sequences so that they can be used to detect and classify genetic diseases very accurately. Microarray experiments generate large amounts of data, because they allow thousands of genes to be processed in a single experiment. To obtain meaningful information from the massive microarray experimental results, it is needed to develop a fully automatic subgrid and spot segmentation algorithm which can measure the expression levels of each gene and the relative ratios of the genes in different situations without additional information or user intervention. In this paper, we used watershed transformation to get basic features of microarray images. Then, a graph model was used for subgrid gridding and spot segmentation based on the watershed transformation results. To verify the efficiency of our algorithm, we compared its performance with that of two previous methods: Profile and MKNN(Modified K Nearest Neighbor) algorithm. The result demonstrated the accuracy and robustness of the proposed algorithm in subgrid and spot segmentation.