【发布时间】:2014-02-18 04:25:07
【问题描述】:
显示图3后这段代码有问题。这两个图像没有被添加。如何纠正它?该程序在封面图像文件名中读取的封面图像的低位平面中隐藏消息图像
%covername = input('Enter image file name with extension (like jennifer.bmp): ', 's');
%read in message image filename
%messagename = input('Enter message image file name with extension: ', 's');
%open cover and message image files
cover = imread('hand.jpg');
message = imread('coins.png');
%display on screen the two images
figure(1), imshow(cover); title('Original Image (Cover Image)');
figure(2), imshow(message);title('Image to Hide (Message Image)');
%change to double to work with addition below
cover=double(cover);
message=double(message);
%imbed = no. of bits of message image to embed in cover image
imbed=4;
%shift the message image over (8-imbed) bits to right
messageshift=bitshift(message,-(8-imbed));
%show the message image with only embed bits on screen
%must shift from LSBs to MSBs
showmess=uint8(messageshift);
showmess=bitshift(showmess,8-imbed);
figure(3),imshow(showmess);title('4 Bit Image to Hide');
%now zero out imbed bits in cover image
coverzero = cover;
for i=1:imbed
coverzero=bitset(coverzero,i,0);
end
cove=uint8(coverzero);
%now add message image and cover image
stego = imadd(cove,messageshift);
figure(4),imshow(stego);title('Stego image');
%save files if need to
%4 bit file that was embedded = same as file extracted
imwrite(showmess,'showmess4.bmp');
%use bmp to preserve lower bits
%jpg will get rid of them
%stego file imwrite(stego,'stego4.bmp');
【问题讨论】:
标签: matlab steganography