ss_exf.m

来自「matlab code for spread spectrumusing M g」· M 代码 · 共 83 行

M
83
字号
function r6 = ss_exf(r2, r3, collogo, rowlogo)

%% r2= HOST gray image
%% r3= WATERMARKED image
%% rowlogo= rowsize of binary logo which is added as watermark
%% collogo= colsize of binary logo which is added as watermark
%% r6=extracted logo from watermarked image
%% PN SEQUENCE GENERATOR ALGOrithm on spatial domain

%clc;
%clear all
%r2=imread('lena.jpg');
%r2=imresize(r2,[512 512],'bilinear');
r2=double(r2);
[rowr2 colr2]=size(r2);
tot_no_pixel_host=rowr2*colr2;


%r3=imread('lena_random.bmp');
[rowr3 colr3]=size(r3);
%r2=imresize(r,[512 512],'bilinear');
r3=double(r3);

if ((rowr2 ~= rowr3) | (colr2 ~= colr3))
    r3=imresize(r3,[rowr2 colr2],'bilinear'); %% Make size same for both the image
   %error('The images have different size.');
end



     
r4=r3-r2; %% WATERMARKED IMAGE-HOST IMAGE
rows =rowlogo;
cols =collogo;
%r5=r4(:)';
r4=r4';
r5=r4(:)';

tot_no_pixel_logo=rows*cols;

chip_rate=floor(tot_no_pixel_host/tot_no_pixel_logo);
pn_seq=ones(1,chip_rate);
temp1=mlbs_ch(floor(log2(chip_rate)));
temp1=temp1';
[rowtmp coltmp]=size(temp1);
pn_seq(1,1:coltmp)=temp1(1,1:coltmp);

r6=zeros(rows,cols);
j=1;
for i=1:tot_no_pixel_logo
    s(i)=pn_seq(1:1,1:chip_rate)*r5 (1:1,j:j+chip_rate-1)';
    j=j+chip_rate;  
end

k=1;
for i=1:rows
    for j=1:cols
        if sign(s(k))==1
            r6(i,j)=255;
        else
            r6(i,j)=0;
        end
        k=k+1;
    end
end
r6=uint8(r6);
%imshow(r6)

str1=num2str(rowr2);
str2=num2str(colr2);
str3=num2str(rowlogo);
str4=num2str(collogo);
strf=strcat('pn_ext_',str1,'x',str2,'host_',str3,'x',str4,'logo.bmp');

%r1=uint8(r1);
imshow(r6)
%imwrite(r6,strf);





    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?