This paper proposes an adaptive 2D image watermarking algorithm in DCT domain. In order to embed an image watermark, we split the image watermark into blocks and transform them into DCT domain. Then these DCT coefficients are quantized and adjusted. Finally, we choose the non-zero DCT coefficients of each block to constitute the watermark. We split the cover image into blocks and classify these blocks based on the human visual system, and transform them into DCT domain. According to the classification, the watermark components are enhanced with different intensity and are embedded into some low-frequency DCT coefficients of the cover image. The experimental results are excellent.