a=imread('Lenna.png');b=rgb2gray(a);edge_b=edge(b,'sobel');imshow(edge_b); message = 'hello lenna' message = strtrim(message); m = length(message) * 8; AsciiCode = uint8(message); binaryString = transpose(dec2bin(AsciiCode,8)); bst = binaryString(:); N = length(bst); z = zeros(N,1); for k = 1:N if(bst(k) == '1') z(k) = 1; else z(k) = 0; end endheight = size(b,1); width = size(b,2);k1=m;while k1>0,for i=1:height-1for j=1:width-1if edge_b(i,j)==1 lsb=mod(b(i,j),2); if (lsb == z(k1)) b(i,j) = b(i,j); else if(lsb == 1) b(i,j) = b(i,j) - 1; else b(i,j) = b(i,j) + 1; end end k1 = k1 - 1;endendendenderror: ??? Attempted to access z(0); index must be a positive integer or logical.
MATLAB: Please check the code of image steganography using LSB technique on egdes. It is giving an error which i am unable to find.
edgeerrorimage processinglsb methodsteganography
Best Answer