程序代写代做代考 Team: JJR

Team: JJR

Project#3: Steganography

Jacky

Zexi Zang

Chuntao Yang

Goal: The goal of this project is to change 10 secrets images into an inconspicuous image, in this case the dog image
Part 1: Flattening the Images
We create two functions. The first function called flattenImage flattens the image is. It takes in the hidden image and create a 400*400 matrix. If the hidden pixel is dark ( inputImage<=t ) we set a 1 to the corresponding position of the matrix ( flat(inputImage<=t) ) = 1 , otherwise we set zero. The second function called expandImage takes in and expands the flattened image by creating a RGB image. inputImage == 1 finds all the position of black pixels and convert them to zero: red(inputImage == 1) = 0 , and finally we can get our expanded matrix by putting all three layers to be red. Test our code by hidden1.png! YES! We succeed! Part 2: Create Embedding Techniques We want to hide all black and white image into the dog image. Here we used a nested loop. If the hidden image pixel is black flat(i,j) == 1, and if red channel of pixel (i,j) and even mod(redDog(i,j),2)==0, we subtract 1 from that value redDog(i,j) = redDog(i,j)-1. If the hidden image pixel is white flat(i,j)==0, and the red channel of pixel (i,j) is odd, we subtract one from that value. Finally do the output of the dog image. We succeed again! Part 3: Create Recovery Technique The Recovery is the reverse of embedding. We first assign the first layer of the image matrix I to matrix redDog. We use nested loop again and if the pixel is an odd number, set the recovered pixel to be 1, otherwise makes it 0. Part4 Appendix A Jacky did part1 part2 and part3. Zexi Zang did part 4, debugging for the project, and writing report. Chuntao Yang did part 5, and contributed the most for Youtube Video. /docProps/thumbnail.jpeg