Внедрение цифрового знака в изображение
Курсовая работа, 04 Декабря 2014, автор: пользователь скрыл имя
Описание работы
Цифровой водяной знак должен отвечать следующим требованиям:
– незаметность для пользователей;
– индивидуальность алгоритма нанесения;
– возможность для автора обнаружить несанкционированное использование файла;
– невозможность удаления неуполномоченными лицами;
Содержание работы
Введение……………………………………………………………………………...5Алгоритм внедрения цифрового водяного знака.……………….……..………….6
Инициализация начальных параметров……………………………………………7
Внедрение цифрового знака в изображение……………………………………….8 Алгоритм извлечения цифрового водяного знака из изображения……………...10 Алгоритм извлечения водяного знака из изображения, подверженного атаке…11 Результаты моделирования и численных расчетов……………………………….13 Пример реализации алгоритма в среде Matlab……………………………………15 Заключение…………………………………………………………………………..18 Список использованной литературы………………
Файлы: 1 файл
Шевелькурсовая.docx
— 394.21 Кб (Скачать файл)в
а – гистограмма исходного изображения; б – гистограмма маркированного изображения при α = 0.07; в – гистограмма маркированного изображения при α = 0.1
Рисунок 7.2 – Сравнение гистограмм при разных коэффициентах α
PSNR полученного изображения, при выборе коэффициента α = 0.1, составляет 25dB. PSNR извлеченного водяного знака, при коэффициенте α = 0.1, составляет 73dB.
При увеличении коэффициента α, снижается качество маркированного изображение, но повышается качество извлеченного водяного знака. Поэтому перед началом внедрения ЦВЗ в изображение необходимо рассчитать оптимальный коэффициент встраивания α.
8. Пример внедрения водяного знака (qr-кода) в изображение
Исходный код программы в приложении B
В данном
алгоритме мы производим
а
в
а – исходное изображение; б – водяной знак; в – маркируемое изображение; г – извлеченный водяной знак
Рисунок 8.1 – Полученные изображения при коэффициенте α = 0.07
PSNR полученного изображения, при выборе коэффициента α = 0.07, составляет 28dB. PSNR извлеченного водяного знака, при коэффициенте α = 0.07, составляет 277dB.
Гистограмма
оригинального изображения имеет
небольшие отличия от гистограммы
маркированного изображения (α = 0.07),
что говорит о хорошем качестве
встраивания, но при α = 0.1, гистограммы
сильно различаются.
а
б
в
а – гистограмма исходного изображения; б – гистограмма маркированного изображения при α = 0.07; в – гистограмма маркированного изображения при α = 0.1
Рисунок 8.2 – Сравнение гистограмм при разных коэффициентах α
PSNR полученного изображения, при выборе коэффициента α = 0.1, составляет 26dB. PSNR извлеченного водяного знака, при коэффициенте α = 0.1, составляет 282dB.
При увеличении коэффициента α, снижается качество маркированного изображение, но повышается качество извлеченного водяного знака. Поэтому перед началом внедрения ЦВЗ в изображение необходимо рассчитать оптимальный коэффициент встраивания α.
Заключение
Предложен
алгоритм, основанный на встраивании
цифровых водяных знаков (ЦВЗ) в
пространственную область изображения
и извлечения из него ЦВЗ. Получены
аналитические выражения для
среднеквадратической ошибки,
вызываемой процедурой встраивания при наличии случайной атаки, зависящие от характеристик изображений, процедуры встраивания и атаки. Методом моделирования исследовалась устойчивость предложенного алгоритма к случайной атаке, а также к сжатию изображения по стандарту JPEG.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Cox J., Miller M. L. and Bloom J.A. Digital Watermarking. - Morgan Kaufmann, 2001.
2. Hartung M., Kutter M. Multimedia Watermarking Techniques //Proceedings of the IEEE. – July,
1999. - Vol. 87, № 7. - P. 1079-1086.
3. Anand D., Niranjan U.C. Watermarking Medical Images with Patient Information //Proc. IEEE/EMSB
Conference. - Hong Kong, China, Oct. 1998. – P. 703-706.
4. Асатрян Д.Г., Ланина Н.С. Адаптивный алгоритм встраивания цифровых водяных знаков в
изображение //Труды научной годичной конференции Российско-Армянского (Славянского)
государственного университета. - Ереван, 2006. - Т.1. - C. 87-90.
5. Podilchuk C I., Zeng W. Image-adaptive watermarking using visual models //IEEE Journal of Selected
Areas in Communication. – 1998. - 16(4). – P. 525–539.
6. Chang-Hsing Lee, Yeuan-Kuen Lee. An Adaptive Digital Image Watermarking Technique for
Copyright Protection // IEEE Transactions on Consumer Electronics. – 1999. - V. 45, № 4. - P. 1005-
1015.
7. Asatryan D.G., Lanina N.S., Shahverdyan H.S. Adaptive Robust Algorithm for Digital Watermarking
of Medical Images //Proc. of 6th Int. Conf. on Computer Science and Information Technologies -
CSIT'2007. - Yerevan, 2007. - P. 161-164.
Приложение А
clear;
clc
img=imread('F:\works\kursa4\lena.png');
img=imresize(img,[512,512]);
img=rgb2gray(img);
[M,N]=size(img);
img=double(img);
[Uimg,Simg,Vimg]=svd(img);
Simg_temp=Simg;
img_wat=imread('F:\works\kursa4\shevel.png');
img_wat=imresize(img_wat,[512,512]);
img_wat=rgb2gray(img_wat);
alfa= input('The alfa Value = ');
[x,y]=size(img_wat);
img_wat=double(img_wat);
for i=1:x
for j=1:y
Simg(i,j)=(1-alfa)*Simg(i,j) + alfa * img_wat(i,j);
end
end
% SVD for Simg (SM)
[U_SHL_w,S_SHL_w,V_SHL_w]=svd(Simg);
Wimg =Uimg* S_SHL_w * Vimg';
figure(1)
imhist(uint8(img));
title('Histogramma of original image')
figure(2)
imshow(uint8(img));
title('The Original Image')
figure(3)
imshow(uint8(img_wat));
title('The Watermark ')
figure(4)
imshow(uint8(Wimg));
title('The Watermarked Image')
figure(5)
imhist(uint8(Wimg));
title('Histogramma of watermarking image')
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%calculate image quality degradation after inserting watermark
%%%%%%%%%%%%%%%%%%%%%%%%%%%
mse=mean(squeeze(sum(sum((double(img)-double(Wimg)).^2))/(M*N)));
PSNR=10*log10(255^2./mse);
msg=sprintf('\n\n-------------------------\nWatermark
by SVD PSNR=%fdB\n-----------------------------\n\n', PSNR);
disp(msg);
%--------------------------------------------------------------------------
% %% Extraction Part
% -------------------------------------------------------------------------
[UWimg,SWimg,VWimg]=svd(Wimg);
D_1=U_SHL_w * SWimg * V_SHL_w';
for i=1:x
for j=1:y
Watermark(i,j)= (D_1(i,j) - Simg_temp(i,j)*(1-alfa))/alfa;
end
end
figure(6)
imshow(uint8(Watermark));
title('The Extracted Watermark ')
mse=mean(squeeze(sum(sum((double(img_wat)-(Watermark)).^2))/(M*N)));
PSNR=10*log10(255^2./mse);
msg=sprintf('\n\n-------------------------\nWatermark
by SVD PSNR=%fdB\n-----------------------------\n\n', PSNR);
Приложение B
clear;
clc
img=imread('F:\works\kursa4\lena.png');
img=imresize(img,[512,512]);
img=rgb2gray(img);
[M,N]=size(img);
img=double(img);
[Uimg,Simg,Vimg]=svd(img);
Simg_temp=Simg;
% read watermark
img_wat=imread('F:qrkod.png');
img_wat=imresize(~img_wat,[512,512]);
alfa= input('The alfa Value = ');
[x,y]=size(img_wat);
img_wat=double(img_wat);
for i=1:x
for j=1:y
Simg(i,j)=(1-alfa)*Simg(i,j) + alfa * img_wat(i,j);
end
end
% SVD for Simg (SM)
[U_SHL_w,S_SHL_w,V_SHL_w]=svd(Simg);
Wimg =Uimg* S_SHL_w * Vimg';
figure(1)
imhist(uint8(img));
title('Histogramma of original image')
figure(2)
imshow(uint8(img));
title('The Original Image')
figure(3)
imshow(img_wat);
title('The Watermark ')
figure(4)
imshow(uint8(Wimg));
title('The Watermarked Image')
figure(5)
imhist(uint8(Wimg));
title('Histogramma of watermarking image')
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%calculate image quality degradation after inserting watermark
%%%%%%%%%%%%%%%%%%%%%%%%%%%
mse=mean(squeeze(sum(sum((double(img)-double(Wimg)).^2))/(M*N)));
PSNR=10*log10(255^2./mse);
msg=sprintf('\n\n-------------------------\nWatermark
by SVD PSNR=%fdB\n-----------------------------\n\n', PSNR);
disp(msg);
%--------------------------------------------------------------------------
% %% Extraction Part
% -------------------------------------------------------------------------
[UWimg,SWimg,VWimg]=svd(Wimg);
D_1=U_SHL_w * SWimg * V_SHL_w';
for i=1:x
for j=1:y
Watermark(i,j)= (D_1(i,j) - Simg_temp(i,j)*(1-alfa))/alfa;
end
end
figure(6)
imshow(Watermark);
title('The Extracted Watermark ')
mse=mean(squeeze(sum(sum((double(img_wat)-(Watermark)).^2))/(M*N)));
PSNR=10*log10(255^2./mse);
msg=sprintf('\n\n-------------------------\nWatermark
by SVD PSNR=%fdB\n-----------------------------\n\n', PSNR)