私が説明怒鳴るとエラーがあるbefore..butメッセージを挿入された画像からのメッセージを抽出してみたい...このステガノグラフィー抽出コードで何が問題になっていますか?
このコードエキス:
% Read Image Stego
IS = imread('imagestego.bmp');
% Extract RedChannel
RedChannel = IS(:,:,1);
% Convert RedChannel to biner
bitstego = uint8(reshape(dec2bin(RedChannel,8)',1,[]) = '0');
nBitstego = length(bitstego);
% Extraction
extBits = bitget(RedChannel(1:end),1).';
extMessage = char(bin2dec(reshape(int2str(extBits),8,[]).').');
とエキスコードから、このエラー:
>> latihanextract
Error: File: latihanextract.m Line: 8 Column: 55
The expression to the left of the equals sign is not a valid target for an assignment.
これは埋め込みコードです。
coverImage = imread('foto1.jpg');
message = 'IMRON';
%EMBEDDING
RedChannel = coverImage(:,:,1);
GreenChannel = coverImage(:,:,2);
BlueChannel = coverImage(:,:,3);
bits = uint8(reshape(dec2bin(message,8)',1,[]) - '0');
nBits = length(bits);
RedChannel(1:nBits) = bitset(RedChannel(1:nBits),1,bits);
Imageresults = cat(3,RedChannel,GreenChannel,BlueChannel);
imwrite(Imageresults,'imagestego.bmp');
何が問題なのですか?ここで
私はあなたが何をしようとしているのか分かりませんが、 'message'の代わりにエラーがあるコードでは、8行目に' RedChannel'があります。 –
@VaheTshitoyanこれは、エラーを取得するコードが* * **メッセージのビットをイメージに挿入するのではなく、 'RedChannel'からビットを抽出します。 – beaker
スクリーンショットではなくテキストとして[mcve]を含めてください。また、あなたのコードを読んで理解し、matlabデバッガを使用してエラーの原因を分析します。つまり、変数を検査し、行列の次元を超えるインデックスを要求している理由を確認してください。 – m7913d