load grass Ig=I; load rough_wall Iw=I; [Cg,S]=wavedec2(Ig,3,'haar'); h1g=Cg((64*64)+1:2*(64*64)); v1g=Cg(2*(64*64)+1:3*(64*64)); d1g=Cg(3*(64*64)+1:4*(64*64)); h2g=Cg((4*64*64)+1:2*128*128); v2g=Cg((2*128*128)+1:3*128*128); d2g=Cg((3*128*128)+1:4*128*128); h3g=Cg((4*128*128)+1:2*256*256); v3g=Cg((2*256*256)+1:3*256*256); d3g=Cg((3*256*256)+1:4*256*256); %decomposition of wall; [Cw,S]=wavedec2(Iw,3,'haar'); h1w=Cw((64*64)+1:2*(64*64)); v1w=Cw(2*(64*64)+1:3*(64*64)); d1w=Cw(3*(64*64)+1:4*(64*64)); h2w=Cw((4*64*64)+1:2*128*128); v2w=Cw((2*128*128)+1:3*128*128); d2w=Cw((3*128*128)+1:4*128*128); h3w=Cw((4*128*128)+1:2*256*256); v3w=Cw((2*256*256)+1:3*256*256); d3w=Cw((3*256*256)+1:4*256*256); %mosaic; l1m=Cw(1:4096);l1g=Cg(1:4096); % h1m=h1w;d1m=d1w;v1m=v1w; for k=16:48; l1m((64*k)+17:(64*k)+48)=l1g((64*k)+17:(64*k)+48); % h1m((64*k)+17:(64*k)+48)=h1g((64*k)+17:(64*k)+48); % d1m((64*k)+17:(64*k)+48)=d1g((64*k)+17:(64*k)+48); % v1m((64*k)+17:(64*k)+48)=v1g((64*k)+17:(64*k)+48); end % h2m=h2w;d2m=d2w;v2m=v2w; % for k=32:96; % h2m((128*k)+33:(128*k)+96)=h2g((128*k)+33:(128*k)+96); % d2m((128*k)+33:(128*k)+96)=d2g((128*k)+33:(128*k)+96); % v2m((128*k)+33:(128*k)+96)=v2g((128*k)+33:(128*k)+96); % end h3m=h3w;d3m=d3w;v3m=v3w; for k=64:192; h3m((256*k)+65:(256*k)+192)=h3g((256*k)+65:(256*k)+192); d3m((256*k)+65:(256*k)+192)=d3g((256*k)+65:(256*k)+192); v3m((256*k)+65:(256*k)+192)=v3g((256*k)+65:(256*k)+192); end Cm=[l1m h1w v1w d1w h2w v2w d2w h3m v3m d3m]; Ir=waverec2(Cm,S,'haar');