1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 数字音频水印技术的matlab代码 数字水印技术dct算法matlab源代码

数字音频水印技术的matlab代码 数字水印技术dct算法matlab源代码

时间:2020-01-01 12:51:22

相关推荐

数字音频水印技术的matlab代码 数字水印技术dct算法matlab源代码

数字水印技术dct算法matlab源代码

%Name: Chris Shoemaker %Course:EER-280 - Digital Watermarking %Project: Block DCT Based , using comparision between mid-band coeffcients % Watermark Embeding clear all; % save start time start_time=cputime; k=50; % set minimum coeff difference blocksize=8; % set the size of the block in cover to be used for each bit in watermark % read in the cover object file_name= _lena_std_bw.bmp ; cover_object=double(imread(file_name)); % determine size of cover image Mc=size(cover_object,1); %Height Nc=size(cover_object,2); %Width % determine maximum message size based on cover object, and blocksize max_message=Mc*Nc/(blocksize^2); % read in the message image file_name= _copyright.bmp ; message=double(imread(file_name)); Mm=size(message,1); %Height Nm=size(message,2); %Width % reshape the message to a vector message=round(reshape(message,Mm*Nm,1)./256); % check that the message isn t too large for cover if (length(message) > max_message)error( Message too large to fit in Cover Object ) end % pad the message out to the maximum message size with ones message_pad=ones(1,max_message); message_pad(1:length(message))=message; % generate shell of watermarked image watermarked_image=cover_object;% process the image in blocks % encodes such that (5,2) > (4,3) when message(kk)=0 % and that (5,2) (4,3)if (message_pad(kk) == 0)% if (5,2) (4,3) then we need to swap themif (dct_block(5,2) >= dct_block(4,3))temp=dct_block(4,3);dct_block(4,3)=dct_block(5,2);dct_block(5,2)=temp;endend% now we adjust the two values such that their difference >= kif dct_block(5,2) > dct_block(4,3)if dct_block(5,2) - dct_block(4,3) = Ncx=1;y=y+blocksize;elsex=x+blocksize;end end % convert to uint8 and write the watermarked image out to a file watermarked_image_int=uint8(watermarked_image); imwrite(watermarked_image_int, dct1_watermarked.bmp , bmp ); % display processing time elapsed_time=cputime-start_time, % display psnr of watermarked image psnr=psnr(cover_object,watermarked_image,Nc,Mc), % display watermarked image figure(1) imshow(watermarked_image,[]) title( Watermarked Image )

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。