これが私のコードです:
function [im,sindx,end1]=alln(im,i,j,secret,sindx,end1)
slen=length(secret);
p=im(i,j);
neigh= [im(i-1,j) im(i+1,j) im(i,j-1) im(i,j+1) im(i-1,j-1) im(i+1,j-1) im(i-1,j+1) im(i+1,j+1)];
minpix = min (neigh)
maxpix = max (neigh)
if minpix < p < maxpix
lowlim = minpix+1;
highlim = maxpix-1;
range = highlim-lowlim+1;
nbits=floor(log2(abs(range)));
if sindx+nbits-1>slen
end1=1;
return
end
for k=1:nbits
bin(k)=secret(sindx+k-1);
end
b = bin2dec(bin);
newvalue1 = abs (minpix + b);
newvalue2 = abs (maxpix - b);
if abs(p-newvalue1)<= abs(p-newvalue2)
im(i,j) = newvalue1;
else
im(i,j) = newvalue2;
end
sindx=sindx+nbits;
end
end
私のメインプログラムはこの関数を呼び出します。プログラムを実行すると、次のエラーメッセージが表示されます。
??? Undefined function or variable "bin".
Error in ==> alln at 34
b = bin2dec(bin);
これがまったく問題にならない専門家がたくさんいることを私は知っています。私はMATLABを初めて使用します。皆さん、方法を教えてください。コードのどのタイプの変更でこの問題を克服できますか?