Are 3 megapixels enough for HD resolution pictures?Yes and No, depending on the what you mean by 3 megapixels, HD resolution, and the application you have in mind. Let's see why.
Suppose by HD you mean 1080p television monitor which is 1,920 × 1,080 pixels = 2,138,400 pixels. Each pixel (made up of subpixels) is capable of displaying a full range of colors, so you need roughly 2MP of full color information.
Now suppose by 3MP you mean the output of the sensor in a typical 3MP digital camera. The sensor pixels are superimposed with a red, blue, or green color filter so that, unlike HDTV, each sensor pixel is capable of recording only a single color channel. A full color image is obtained by interpolation. In order for the camera sensor to sample the color image the same as an HD screen,it takes roughly 4x the number of HD pixels, or 4 x 2,138,400 = about 8MP.
For many practical purposes the interpolation doesn't have a big impact on the final image, and the television color signal will be subsampled prior to broadcast. So an image shot with a 3MP camera will saturating the television bandwidth. But in other situations, such as printing or display of digital photos, it does matter and you would need to start with a higher resolution digital sensor to produce the information needed to fully exploit an HD sized image.