Noise removal and image enhancement are the important tasks addressed by many Image Processing algorithms, especially, when the images are corrupted by high noise level e.g. in the case of remote imaging, thermal imaging, night vision etc. The noise makes the image recognition more difficult as it gives a grainy, snowy or textured appearance to the image. So there exists a need for efficient image de-noising method without introducing any artifacts in the original image. The Images with a Noise Standard Deviation (Sigma) greater than 25 are considered as high noise images. The dark images, e.g. night shoots, have very low dynamic range of brightness. The darkness and the high noise needs to be carefully tackled by the image processing algorithm for acceptable visual quality e.g. surveillance applications. Furthermore, de-noising is often necessary as a pre-processing step in image compression, segmentation, recognition etc. Basically, the image de-noising methods are divided into two types: local and non-local. A non local method called as Non-Local Means  estimates a noise-free pixel intensity as a weighted average of all pixel intensities in the image, and the weights are proportional to the similarity between the local neighbourhood of the pixel being processed and local neighbourhoods of surrounding pixels. The method is quite spontaneous that results in PSNR and visual quality comparable with other de-noising methods. © 2013 IEEE.