📄 image_processing.m
字号:
%Storing image in text files
function Image_Processing(a)
Input_image=imread('baboon.jpg');
Image_resized=imresize(Input_image,0.5);
figure(1);
imshow(Image_resized); title('Input_image');
W=imread('mitlogo.jpg');
W=rgb2gray(W);
Watermark=imresize(W,[64 64]);
figure(2);
imshow(Watermark); title('Watermark');
% figure;
% imshow(Watermark);
for i=1:64
for j=1:64
if(Watermark(i,j)<128)
Watermark(i,j)=0;
else
Watermark(i,j)=1;
end
end
end
Image_array=separate_image(Image_resized);
even=[];
odd=[];
o=1;
for i=1:8192
even(i)=Image_array(o);
odd(i)=Image_array(o+1);
o=o+2;
end
even_bin=dec2bin(even);
odd_bin=dec2bin(odd);
%csvwrite('image_even.txt',even);
%csvwrite('image_odd.txt',odd);
watermark=[];
for i=1:64
L=Watermark(i,:);
K=dec2bin(L,1);
watermark=vertcat(watermark,K);
end
%csvwrite('watermark.txt',T3);
%Genrating watermarked image from output file
M=csvread('D:\even_out.txt');
N=csvread('D:\odd_out.txt');
image_out=[];
for i=1:8192
image_out((i*2)-1)=(M(i));;
image_out(i*2)=(N(i));
i=i+1;
end
%disp(image_out);
X=[];
for i=1:16384
for j=1:8
X(i,(9-j))=mod(image_out(i),10);
image_out(i)=floor(image_out(i)/10);
end
end
%size(X);
%disp(X);
P=[];
for i=1:16384
P(i)=Binary_to_Decimal(X(i,:));
end
%disp(P);
A_out=[];
k=1;
for l=0:15
for m=0:15
for i=1:8
for j=1:8
A_out(i+(l*8),j+(m*8))=P(k);
k=k+1;
end
end
end
end
%size(A_out)
%disp(A);
% for i=1:128
% for j=128
% A_out(i,j)=A_out(i,j)-128;
% end
% end
figure(3);
imshow(uint8(A_out)); title('Watermarked image_verilog');
[Image_DWT_Fn,watermarked_matlab]=new_dwt(a);
figure(4);
imshow(mat2gray(Image_DWT_Fn)); title('DWT_levels');
figure(5);
imshow(mat2gray(watermarked_matlab)); title('Watermarked image_MATALAB');
[Error_Location_Fn Error_Fn Error_Value_Max_Fn Square_Error_Fn RMS_Error_Fn PSNR_Fn PSNR_Infinity_Fn] = Error_PSNR_Calculation(Image_resized,A_out);
% Square_Error_Fn
% Error_Value_Max_Fn
% RMS_Error_Fn
% PSNR_Fn
PSNR_dB_Fn = 10*log10(PSNR_Fn);
[Error_Location_Fn1 Error_Fn1 Error_Value_Max_Fn1 Square_Error_Fn1 RMS_Error_Fn1 PSNR_Fn1 PSNR_Infinity_Fn1] = Error_PSNR_Calculation(Image_resized,watermarked_matlab);
PSNR_dB_Fn1 = 10*log10(PSNR_Fn1);
disp(PSNR_dB_Fn);
disp(PSNR_dB_Fn1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -