Image processing based on wavelet transform in python
Three aspects should be taken into account. Suppose that the image is initially positive, coded on eight bits. Then:


standard wavelet oefficients become real, and are not converted to uint8 easily, because wavelet filter coefficients are often real (and not dyadic rationals)
since the filters are orthogonal, the coefficients risk to grow, and exceed the initial $[0,\ldots,255]$ range. So a mere rounding is dangerous
even if you use integer wavelets (by lifting), the same happen, and in 2D you may need $1$ more bit for each level
some detail coefficients will be negative, so uint8 will destroy the signs in a way you cannot recover afterward.


So, the inverse wavelet tranform is likely to be crappy. THe simplest way around: 


divide all coeffciients by their maximal absolute value (and keep track of it),
code all the $[0,1]$ magnitudes on $7$ bit,
code the sign on the $8$th bit.