A recognition system is proposed to extract and recognize license plates of motorcycles and vehicles on highways. In the first stage, a block-difference method is used to detect moving objects. According to the variance and the similarity of the M×N blocks defined on two diagonal lines, the blocks are categorized as three kinds: low-contrast, stationary and moving blocks. In the second stage, a screening method based on the projection of edge magnitudes is used to find two peaks in the projection histograms to bound license plates. The scanning lines with low counts can be removed. In the third stage, character images are segmented and recognized. In our experiments, we tested 180 pairs of images. The block-difference method has a 98% success rate and can remove 88% of pixels from an image on average. The screening method has a 94.4% success rate and the character recognition method has a 95.7% precision rate.