hey, Can anybody tell me what is the problem with this DWT video embedding code when i am replacing given video with another video then i am facing errors. Code is given below

1 view (last 30 days)
clc; close all; clear all;
% save start time start_time=cputime;
k=2; % set the gain factor for embeding
%read the original video and get the information mov=aviread('video.avi'); ai=aviinfo('video.avi'); % size of the each frame Mc=ai.Height; Nc=ai.Width;
% read in the message image and reshape it into a vector file_name='_copyright_small.bmp'; message=double(imread(file_name)); % 0's and 255's in matrix [Mm,Nm]=size(message); message_vector=round(reshape(message,Mm*Nm,1)./256);
% read in key for PN generator file_name='_key.bmp'; key=double(imread(file_name))./256; % key=mean(key);
for h=1:ai.NumFrames for z=1:3 % take the single frame of the video cover_object=mov(h).cdata(:,:,z); cover_object=double(cover_object);
% reset MATLAB's PN generator to state "key" rand('state',key(1));
%perform DWT [cA1,cH1,cV1,cD1] = dwt2(cover_object,'haar');
% add pn sequences to H1 and V1 componants when message = 0 for (kk=1:length(message_vector)) pn_sequence_h=round(2*(rand(Mc/2,Nc/2)-0.5)); pn_sequence_v=round(2*(rand(Mc/2,Nc/2)-0.5));
if (message(kk) == 0)
cH1=cH1+k*pn_sequence_h;
cV1=cV1+k*pn_sequence_v;
end
end
% perform IDWT watermarked_image = idwt2(cA1,cH1,cV1,cD1,'haar',[Mc,Nc]);
R{z}=watermarked_image;
end
% I2--> 3D color watermarked frame
I2=cat(3,cell2mat(R(1)),cell2mat(R(2)),cell2mat(R(3)));
% I3--> all watermarked frames in 4-D
I3(:,:,:,h)=I2;
end
%convert all the frames into matlab movie format for y=1:h mov2(y).cdata=uint8(I3(:,:,:,y)); mov2(y).colormap=[]; end
% matlab movie is converted into avi file and it is stored into hard disk movie2avi(mov2,'new_watermarkedvideo','FPS',30,'compression','None')
% display processing time elapsed_time=cputime-start_time,

Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!