Homework Solution: Hello! I'm currently working on a program that will hide an image in a…

MATLAB Hello! I'm currently working on a program that will hide an image in another. I am on part 2, but cannot get it to work when I click Odd/Even Red Embedding. I have included the prompt, code, and GUI. Any help is appreciated, thank you! Function as stated in part 1: function [BW] = flatten(img) I = imread(img); BW = imbinarize(I); code in text: % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) normalImg = getimage(handles.axes1); hiddenImg = getimage(handles.axes2); flatHiddenImg = flatten(hiddenImg); normalRedCh = normalImg(:,:,1); [r,c] = size(flatHiddenImg); for i=1:r for j=1:c if (flatHiddenImg(i,j) == 0) % If pixel is white if (mod(normalRedCh(i,j),2) == 0) % If normal image has an even value, normalRedCh(i,j) = normalRedCh(i,j) - 1; % then subtract 1 to make odd. else % If normal image has an odd value. normalRedCh(i,j) = normalRedCh(i,j) - 0; % subtract 0 to keep odd. end elseif (flatHiddenImg(i,j) == 1) % If pixel is black if (mod(normalRedCh(i,j),2) == 0) % If dog image has an even value, normalRedCh(i,j) = normalRedCh(i,j) - 0; % then subtract 0 to keep even. else % If dog image has an odd value normalRedCh(i,j) = normalRedCh(i,j) - 1; % then subtract 1 to make even. end end end end normalImg = normalRedCh; axes(handles.axes3); imshow(normalImg);
Part 1: Flattening the Images There is an image dog.png, which you will be concealing at least 10 hidden images in. Try viewing it with . 1. 2. There are ten images labeled hiddenXXpng with XX from 1 to 10. Let's take the grayscale hidden image and make it black and white: a. Load one of the hidden images. It should be in a 400x400 integers matrix (grayscale). b. Create a function to "Flatten" the image by creating a 400x400 matrix with values "1" if the corresponding hidden image pixel is dark and "O" if the pixel is light (black&white) Your threshold for dark/light is up to you as long as the image is still distinguishable after converting from grayscale to black&white Create a function to "Expand" the flattened image by taking the 400x400 flattened image and creating a new RGB image with black pixels for "1" elements, and white pixels for "O" elements Test by Flattening and Expanding one of the images and making sure it can be displayed properly with the simage> command. c. Part 2: Create Embedding Techniques As an example for one of the techniques that can be used is the odd/even embedding technique This is an example one of the different techniques that you will use to hide all the black and white images into the concealing image. The flattened hidden image is a 400x400x1 matrix of values 0 (white) and 1 (black) pixels. The normal image is a 400x400x3 matrix of values 0-255, representing the values of the red, green, and blue channels. Our first embedding technique goes as follows: 1. 2. 3. Use your "Flattening" function from part 1 to flatten the hidden image selected by the user to a flattened hidden image If flattened hidden image pixel (x.y) is black, make the red channel of pixel (x.y) in the normal image odd valued by either subtracting zero or one. If flattened hidden image pixel (x,y) is white, make pixel (x.y) on the red channel of the normal

i modified code so far code in text: % --- Executes on button press in pushbutton3.

MATLAB

Hello! I’m currently afloat on a program that procure cloke an likeness in another. I am on tend-akeep-aseparate 2, barring cannot procure it to product when I click Quaint/Equable Ruddy Embedding. I feel interjacent the active, edict, and GUI. Any aid is appreciated, gladden you!

Office as periodical in tend-akeep-aseparate 1:

office [BW] = mitigate(img)

BW = imbinarize(I);

edict in text:

% — Executes on barrington weigh in pushbutton3.

office pushbutton3_Callback(hObject, equabletdata, manages)

% hObject manage to pushbutton3 (discern GCBO)

% equabletaxioms silent – to be defined in a coming rendering of MATLAB

% manages constitution with manages and authenticationr axioms (discern GUIDATA)

normalImg = procureimage(handles.axes1);

hiddenImg = procureimage(handles.axes2);

flatHiddenImg = mitigate(hiddenImg);

normalRedCh = regularImg(:,:,1);

[r,c] = magnitude(flatHiddenImg);

control i=1:r

control j=1:c

if (flatHiddenImg(i,j) == 0) % If pixel is innocent

if (mod(normalRedCh(i,j),2) == 0) % If regular likeness has an equable rate,

normalRedCh(i,j) = regularRedCh(i,j) – 1; % then withdraw 1 to fabricate quaint.

else % If regular likeness has an quaint rate.

normalRedCh(i,j) = regularRedCh(i,j) – 0; % withdraw 0 to tend quaint.

end

elseif (flatHiddenImg(i,j) == 1) % If pixel is sombre

if (mod(normalRedCh(i,j),2) == 0) % If dog likeness has an equable rate,

normalRedCh(i,j) = regularRedCh(i,j) – 0; % then withdraw 0 to tend equable.

else % If dog likeness has an quaint rate

normalRedCh(i,j) = regularRedCh(i,j) – 1; % then withdraw 1 to fabricate equable.

end

end

end

end

normalImg = regularRedCh;

axes(handles.axes3);

imshow(normalImg);

Keep-aseparate 1: Mitigateing the Likenesss There is an likeness dog.png, which you procure be tending back at meanest 10 mysterious likenesss in. Try viewing it with . 1. 2. There are ten likenesss labeled mysteriousXXpng with XX from 1 to 10. Let’s interest the grayscale mysterious likeness and fabricate it sombre and innocent: a. Load undivided of the mysterious likenesss. It should be in a 400×400 integers matrix (grayscale). b. Create a office to “Flatten” the likeness by creating a 400×400 matrix with rates “1” if the corresponding mysterious likeness pixel is sombre and “O” if the pixel is incompact (black&white) Your origin control sombre/incompact is up to you as crave as the likeness is quiet divisible following converting from grayscale to sombre&innocent Create a office to “Expand” the mitigateed likeness by vestibule the 400×400 mitigateed likeness and creating a strangelightactive RGB likeness with sombre pixels control “1” elements, and innocent pixels control “O” elements Test by Mitigateing and Expanding undivided of the likenesss and making certain it can be displayed right with the simage> order. c. Tend-aseparate 2: Create Embedding Techniques As an model control undivided of the techniques that can be authenticationd is the quaint/equable embedding technique This is an model undivided of the unanalogous techniques that you procure authentication to cloke total the sombre and innocent likenesss into the tending back likeness. The mitigateed mysterious likeness is a 400x400x1 matrix of rates 0 (white) and 1 (black) pixels. The regular likeness is a 400x400x3 matrix of rates 0-255, representing the rates of the ruddy, uncooked, and sky blue-colored-coloblushing deeds. Our highest embedding technique goes as follows: 1. 2. 3. Authentication your “Flattening” office from tend-akeep-aseparate 1 to mitigate the mysterious likeness chosen by the authenticationr to a mitigateed mysterious likeness If mitigateed mysterious likeness pixel (x.y) is sombre, fabricate the ruddy deed of pixel (x.y) in the regular likeness quaint rated by either withdrawing cipher or undivided. If mitigateed mysterious likeness pixel (x,y) is innocent, fabricate pixel (x.y) on the ruddy deed of the regular

Expert Retort

i mitigated edict so far

edict in text:

% — Executes on barrington weigh in pushbutton3.

office pushbutton3_Callback(hObject, equabletdata, manages)

% hObject manage to pushbutton3 (discern GCBO)

% equabletaxioms silent – to be defined in a coming rendering of MATLAB

% manages constitution with manages and authenticationr axioms (discern GUIDATA)

normalImg = procureimage(handles.axes1);

hiddenImg = procureimage(handles.axes2);

flatHiddenImg = mitigate(hiddenImg);

normalRedCh = regularImg(:,:,1);

[r,c] = magnitude(flatHiddenImg);

control i=1:r

control j=1:c

if (flatHiddenImg(i,j) == 0) % If pixel is innocent

if (mod(normalRedCh(i,j),2) == 0) % If regular likeness has an equable rate,

normalRedCh(i,j) = regularRedCh(i,j) – 1; % then withdraw 1 to fabricate quaint.

else % If regular likeness has an quaint rate.

normalRedCh(i,j) = regularRedCh(i,j) – 0; % withdraw 0 to tend quaint.

end

elseif (flatHiddenImg(i,j) == 1) % If pixel is sombre

if (mod(normalRedCh(i,j),2) == 0) % If dog likeness has an equable rate,

normalRedCh(i,j) = regularRedCh(i,j) – 0; % then withdraw 0 to tend equable.

else % If dog likeness has an quaint rate

normalRedCh(i,j) = regularRedCh(i,j) – 1; % then withdraw 1 to fabricate equable.

end

end

end

end

normalImg = regularRedCh;

axes(handles.axes3);

imshow(normalImg);