ステガノグラフィを使用して、テキスト ファイル (数値データのみを含む) から画像の LL サブバンドにデータを埋め込もうとしています。コード行に「エラーを使用したビットセット ASSUMEDTYPE は整数型名でなければなりません」というエラーが表示されます。
L(ii,jj)=bitset(L(ii,jj),1,stego(ii,jj));
デバッガーで実行しようとしましたが、うまくいきません。Lのデータ型と関係があるに違いないと思います?? イメージをバイナリ、ダブルなどに変更しようとしましたが、それでもこのエラーが発生します! どこが間違っているのか、誰かアドバイスをいただけますか?下にコードを挿入します。
% loading cover image
img=imread('lena.bmp');
image=im2double(img);
% get DWT of image
[LL,LH,HL,HH] = dwt2(image,'haar');
A = importdata('minutiaTest.txt');
I = dec2bin(A,8);
L=LL;
% determine size of LL subband
Mc=size(L,1); %Height
Nc=size(L,2); %Width
% determine size of message object
Mm=size(I,1); %Height
Nm=size(I,2); %Width
for ii = 1:Mc
for jj = 1:Nc
stego(ii,jj)=I(mod(ii,Mm)+1,mod(jj,Nm)+1);
end
end
for ii = 1:Mc
for jj = 1:Nc
L(ii,jj)=bitset(L(ii,jj),1,stego(ii,jj));
end
end
stego_image = idwt2(LL,LH,HL,HH,'haar');
imwrite(uint8(stego_image),'stego.bmp');
figure; imshow(stego_image,title('Stego image'));