Show older comments
I want hide a text in image using LSB algorithm
for example:
X = image;
S = secret message;
I write:
X2(:)=bitset(X(:),1,S(:));
but when run i have an error
"??? Error using ==> bitset
Inputs must be non-negative integers."
after convert to binary i have another error
??? Undefined function or method 'bitset' for input arguments of type 'char'.
please help me.
1 Comment
Michael Chan
on 21 Apr 2012
Similar methods are used in Matlab in the following example for static images:
http://www.mathworks.com/matlabcentral/fileexchange/36288-embedding-hiding-image-within-image-with-n-bit-lsb-steganography
http://www.mathworks.com/matlabcentral/fileexchange/36275-image-description-notes-with-n-bit-lsb-steganography
Accepted Answer
More Answers (5)
Walter Roberson
on 26 Nov 2011
0 votes
What data types are X and S? That is, what does class() report for each of them?
Your S must be a vector of values, each 0 or 1. It cannot be '0' or '1', and it cannot be (e.g) 72 (which corresponds to the coding for 'H')
pratiksha patil
on 4 Mar 2012
0 votes
But how can I again extract the original message file???????
4 Comments
Aseel H
on 7 Mar 2012
Edited: Walter Roberson
on 3 May 2020
Michael Chan
on 21 Apr 2012
Similar methods are used in Matlab in the following example for static images:
http://www.mathworks.com/matlabcentral/fileexchange/36288-embedding-hiding-image-within-image-with-n-bit-lsb-steganography
http://www.mathworks.com/matlabcentral/fileexchange/36275-image-description-notes-with-n-bit-lsb-steganography
Sanjeeb Behera
on 10 Sep 2016
When I run this code it gives an error in below line bin_vector(idk) = bitget(cover(row,col), 7);
Error - The variable bin_vector appears to change size on every loop iteration (within script). Consider perallocating for speed
Walter Roberson
on 10 Sep 2016
That would not be an error, it would be a warning given by the editor. It is a matter of efficiency, not a matter of being incorrect MATLAB. If you want to avoid the warning you can use
bin = zeros(cl, 8);
before the "for x = 1 : cl" loop.
sha
on 21 Mar 2012
This is my example of extraction..
hopefully you can try..
%determined the size of watermarked image
mw=size(image1,1); %heigth of the watermarked image
nw=size(image1,2); %width of the watermarked image
for ii = 1: mw
for jj = 1 : nw
watermark (ii,jj) = bitget(image1(ii,jj),1);
end
end
figure(2)
imshow(watermark);
title('extracted image'); % watermark image for watermarking
1 Comment
ghassan78
on 27 Jan 2014
ok my bro , but i think this code don't work with color watermark ... just with gray
Swati Nagpal
on 21 Jul 2018
0 votes
I m working on lsb to hide text behind an image I have done the encryption part but I m having problem in decryption of lsb. So j request you to help me in that or pls share code for retrieval of hidden message from the image.
1 Comment
Image Analyst
on 21 Jul 2018
I believe my answer did that, didn't it? If not, tell me what about it didn't work, and attach your cover image and secret image so that the problem can be demonstrated.
Ariba Tariq
on 31 Jul 2018
0 votes
I am working on LSB to hide parts of one secret image into multiple cover images and then trying to recover secret from all the cover images. It would help me a lot if anybody can guide me through this or share a code of similar concept.
1 Comment
Image Analyst
on 31 Jul 2018
To process a sequence of files with my code, make my code a function, then put it inside a for loop that you get from the FAQ: https://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F
Categories
Find more on Watermarking in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!