Wavelet thresholding
For a given threshold $\lambda$ (that can be dependent on resolution level), and value of wavelet coefficient $d$, hard thresholding is defined as: 

$  D^H(d|\lambda)=\begin{cases}
               0,&amp; \text{for } |d| \leq \lambda\\
               d,&amp; \text{for } |d| &gt; \lambda
            \end{cases}$

whereas soft thresholding is governed by following equation:

$  D^S(d|\lambda)=\begin{cases}
               0,&amp; \text{for } |d| \leq \lambda\\
               d-\lambda,&amp; \text{for } d &gt; \lambda \\
               d+\lambda,&amp; \text{for } d &lt; -\lambda \\
            \end{cases}$

Figure below depicts both cases:



The soft thresholding is also called wavelet shrinkage, as values for both positive and negative coefficients are being "shrinked" towards zero, in contrary to hard thresholding which either keeps or removes values of coefficients.

In case of image de-noising, you are not working strictly on "intensity values", but wavelet coefficients. You probably remember that you can decompose your image into wavelet levels, like in case of lovely Lena.

 Assuming that wavelet transform gives sparse coefficients, mostly close to zero, and noise level is lower than wavelet coefficients, you can simply threshold these. Although if you wish, you can perform hard/soft thresholding on each decomposition level with a different value of $\lambda$. When it is done, then you just have to reconstruct your image from all decomposition levels and voila, noise should be removed!

Below you have two examples of de-noised image via hard and soft thresholding respectively (same $\lambda$). Obviously soft thresholding gives more smooth image- if you can notice that with such a poor resolution ;) Courtesy of MATLAB.