Speckle appears in all conventional medical B-mode ultrasonic images and can be an undesirable property since it may mask small but diagnostically significant features. In this paper, an adaptive filtering algorithm is proposed for speckle reduction. It selects a filtering region size using an appropriately estimated homogeneity value for region growth. Homogeneous regions are processed with an arithmetic mean filter. Edge pixels are filtered using a nonlinear median filter. The performance of the proposed technique is compared to two other methods--the adaptive weighted median filter and the homogeneous region growing mean filter. Results of processed images show that the method proposed reduces speckle noise and preserves edge details effectively.