This paper presents an algorithm based on wavelet transform to hide three
secret colored or gray-scale images with different sizes in one colored cover
image. The algorithm takes level1 wavelet transformation for the cover image and
level2 wavelet transformation for the coefficients resultant from level1. The
algorithm begins to divide and transpose the secret images into multiple sub bands,
then imbedding them into the coefficient parts resulting from level2. The
embedding depends upon a variable threshold which begins with a very small
value. Here the algorithm ensures the embedding of all the pixels values of the sub
band, if it is not, the operation will be repeated with a larger threshold value until
all the pixels are embedded. Also the pixel's value will not be embedded directly,
the difference between the cover and the secret pixel value will be embedded
instead of it after some manipulation (mathematical operations). All of these
factors (divide and transpose the secret images, the variable threshold for each sub
band and changes on the embedded pixels) increase the robustness and quality of
the algorithm. The resultant stego image and the extracted secret images are very
close to the original one with high PSNR, high Correlation, low Normal Absolute
Error and low Maximum Difference.