Image denoising is an important image processing task, both as a process itself, and as a component in other processes. The main properties of a good image denoising model are that it will remove noise while preserving edges. Traditionally, linear models have been used. One common approach is to use a Gaussian filter, In spite of the great success of many denoising algorithms; they tend to smooth the fine scale image textures when removing noise, degrading the image visual quality. To address this problem we compare two methods in this paper. The Nonlocal Hierarchical Dictionary Learning using Wavelet (NHDLW) and Gradient Histogram Preservation (GHP),which is large success in denoising. Experimental result shows that the NHDLW get significantly better denoising results especially on an image denoising algorithms on higher noise levels.