واترمارکینگ تصویردر متلب (water marking)

, , پیغام بگذارید

تعریف واتر مارکینگ :

واترمارکينگ ديجيتالي از جمله روش هايي است که براي حفاظت از حق کپي اسناد ديجيتالي استفاده مي گردد. در اين روش سيگنال ديجيتالي به يک سند ديجيتالي اضافه مي گردد و از سند ديجيتال حفاظت مي کند. در طي دهه هاي گذشته، روش هاي مختلفي براي واترمارکينگ ديجيتالي ارائه شده است. اين روش ها را از نقطه نظرات گوناگون مي توان دسته بندي کرد.

حال چند روش معمولی واترمارکینگ در متلب اشاره خواهیم کرد

در قطعه کد زیر سه مرحله انجام می گیرد بصورت زیر است

1-ابتدا تصویر خوانده میشود .

2-لوگوی واترمارکی که با تصویر اصلی ترکیب خواهد شدخوانده میشود .

3-دراین مرحله تصویر اصلی و لوگو با هم ترکیب خواهند شد در این قسمت متغیری بنام alpha باتصویر اصلی و لوگو ترکیب خواهد شد در صورتی که مقدار این متغیر کمتر از 0.5 باشد واتر مارک موجود در تصویر قابل مشاهده نخواهد بود درصورتی مقدار این متغیر بیشتر از 0.5 باشد لوگوی واترمارک واضح تر خواهد بود.

کد متلب برای واترمارک تصویر

مرحله اول

%تصویر بدون نشان

 

f = imread(‘watermark.jpg’);

figure,imshow(f);title(‘withiot mark Image’);

مرحله دوم

%,واتر مارک

w = imread(‘watermark_logo.jpg’);

figure,imshow(w);title(‘Watermarked’);

مرحله سوم

%تعیین وضوع تصویر

alpha=0.5;

Fw = (1-alpha)*f + alpha.*w;

figure,imshow(Fw);title(‘Watermarked Image-Visibilty:0.5’);

واترمارک با وضوح 0.5

وضوح تصویر با مقدار 0.9

روش دیگر با تعین موقعیت لوگوی واتر مارک

1-خواندن تصویر اصلی

2-خواندن تصویر لوگوی واتر مارک

3-تعیین موقعیت واتر مارک بر روی تصویر اصلی اعمال واتر مارک

 

کد متلب

%خواندن لوگوی واتر مارک تصویر اصلی

waterlog = imread(‘digital_watermark.jpg’);

figure,imshow(waterlog);title(‘logo water mark’)

روش واتر مارک LSB

دراین روش لوگوی واترمارک در تصویر اصلی مخفی میشود .یک پیکسل از تصویر ورودی ;249 گفته میشود ویک پیکسل از واترمارک 155 گفته می شود .

1-دودویی عدد 249 برابر 11111001 است .

2-دودوی عدد 155 برابر 10011011 است .

3-حداقل دو بیت عدد ورودی 249 را برابر صفر قرار دهید 11111000

4-پیدا کردن دو عدد از تصویر واتر مارک به ابعاد 10 و155

5-حالا دو عدد از تصویر واترمارک را در بیت کم ارزش تصویر ورودی قرار دهید.

6-    11111000 + 00000010 = 11111010  250

کد متلب آن بصورت زیر است

%روش واتر مارک LSB

Fw1 = 4*(f/4) + w/64;

figure,imshow(Fw1);title(‘LSB watermarked Image’);

چگونگی بازیابی تصویر واتر مارک شده در روش LSB

روش اول

%بازیابی تصویر واتر مارک شده

dm = (Fw1-f)*64;

figure,imshow(dm);title(‘Watermark extracted’);

نمایش استخراج واتر مارک از تصویر اصلی

چگونگی بازیابی دو  بیت اخر تصویر  واتر مارک شده در روش LSB روش دوم

DMark2 = rem(Fw1,4)*64;

figure,imshow(DMark2);title(‘Watermark extracted from the image’);

 

 

پاسخ دادن

anti spam *