MATLAB kód pro neviditelné vodoznaky použití LSB

Z

zzoorroo

Guest
ahoj
JÁ ve skutečnosti potřebovat program, které vodoznaky v obraze jakýmkoli algoritmus, který používá Matlab.

<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Otázka" border="0" />
 
není odpověď pro mě ........
Potřebuji algoritmus ?????
TX:?:

<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Otázka" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Otázka" border="0" />
 
zzoorroo napsal:

ahoj

JÁ ve skutečnosti potřebovat program, které vodoznaky v obraze jakýmkoli algoritmus, který používá Matlab.
<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Otázka" border="0" />
 
Kontakt abhishek.vnit na tomto fóru .............. má kód připraveni!

 
Zde je malý náznak o tom, vodoznak v obrázku;
nahrát obrázek(grayscale color can do but you'd have to make a choice place a wattermark in all three colors or just the luminant signal)

image = imread ('lena.ppm');
(ve stupních šedé barvy, může udělat, ale musel bys si vybrat místo wattermark ve všech třech barvách nebo jen luminant signál)
Vytvořte wattermark velikosti N je shuld být Gaussian řetězec s průměrem 0 s coeficiants v intervalu [-1,1], tak použijte funkci matlabs randn;

známka = randn (100)
to get all the posible switches of this function, by the by you can allso use matlabs function rand but then the string wuldn't have a zero mean.

Typ Nápověda randn
dostat všechny ocitnou spínačů této funkce, kterou podle můžete použít allso matlabs funkce rand, ale pak řetězec wuldn't mají nulovou střední.

Takže teď máte image a wattermark a musíte si vybrat Haw hodláte vložit značku?

To se provádí v četnosti spectar, takže budete muset změnit váš image To může být FFT nebo DCT nebo dokonce dwt transformace a ano, můžete místo wattermark v původním prostoru pixells, ale v mém expirience životnost wattermark je silnější, pokud je to vkládají do nižší frekvenci!
A essentualy nejlepší trvanlivosti je dosaženo v případě, že transformace je diskrétní cossine transformace DCT2 v prostředí MATLAB nebo diskrétní wavelet transformace DWT2 (existuje mnoho možných wavelet transformací infinete číslo opravdu)
To je jen rychlý úvod pro více informací zkontrolujte tyto stránky:
http://www.mathworks.com/matlabcentral/fileexchange/loadFileList.do
http://www.mathworks.com/cgi-bin/texis/webinator/search/asp

 
ahoj
Díky za zájem ..
dva odkazy nefungovaly !!!!!!!
Chci se zeptat, jak mohu převést řádky na sloupce bez použití "přetvořit"!
Potřebuji tento kód ....

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Pláč nebo velmi smutný" border="0" />Ještě jednou díky ....

 
Yeap MathWorks užívat chráněné vyhledávač, stačí hledat wattermarking v MathWorks internetových stránkách.
Měl jsem projekt před třemi lety o tom, nevím, kde je můj kód je budu hledat to (I embeded vodoznak v digitální obraz pomocí DCT transformace)."

O konverzi řádků do sloupců, pokud je to dvourozměrné matice aka šedi image proč stačí použít provedení příkazu "přemístit je '"
 
ahoj
Díky za odpověď ....
Potřebuji převést matici, jako je b = [1 2 3, 4 5 6; 7 8 9], aby vektor jako
b = [1, 2, 3, 4, 5, 6, 7, 8, 9] bez použití přetvořit, protože když jsem Pomocí tohoto příkazu chyba objeví, když jsem se napsat tento kód:
message = kolo (přetvořit (zpráva, mm * Nm, 1) ./256);
Chyba je:
??Chyba pomocí ==> přetvořit
Přehodnotit počet prvků se nesmí měnit.
Doufám, že mi může pomoci ..
díky
čau.

 
zzoorroo napsal:

ahoj

Díky za odpověď ....

Potřebuji převést matici, jako je b = [1 2 3, 4 5 6; 7 8 9], aby vektor jako

b = [1, 2, 3, 4, 5, 6, 7, 8, 9] bez použití přetvořit, protože když jsem Pomocí tohoto příkazu chyba objeví, když jsem se napsat tento kód:

message = kolo (přetvořit (zpráva, mm * Nm, 1) ./256);

Chyba je:

??
Chyba pomocí ==> přetvořit

Přehodnotit počet prvků se nesmí měnit.

Doufám, že mi může pomoci ..

díky

čau.
 
ahoj
Díky velmi kaše pro rychlou odpověď & připevnění je velmi užitečné .....
Našel jsem v ní funkci 'přetvořit', když jsem jej používat s vodoznakem ('_copyright.bmp'), použitý v tomto programu to funguje dobře, ale když jsem změnu
to s prašník vodoznakem, že mi
Tato chyba se znovu:
??Chyba pomocí ==> přetvořit
Přehodnotit počet prvků se nesmí měnit.

vodoznak i použití (61 * 97)
Vím, že tam je rozdíl v rozlišení .....
Potřebuji, aby se tento program pracovat s libovolným (vodoznak a usnesení) $ obecném případě $
Můžete mi pomoci ..
Ještě jednou díky za zájem.

 
Nikdy jsem použil zcela změní funkce, takže nemůžu pomoct tam.
Takže používáte obrázek jako vodoznak.Během mého Samozřejmě jsme říkali ražení.Jak se vám vkládání vodoznak v prostorové doméně nebo frekvenční oblasti?Budete muset určit výchozí velikost razítka v porovnání s image jste ražení, takže PSNR by být pod kontrolou.Co můžete udělat, je využít matlabs funkce Změna rozměrů na velikost razítka v porovnání s image jste ražení.
Způsob, jakým jsem se použít pro razítko (v mém projektu jsem použil pseudo náhodných vodoznak čarodějnice byl vytvořen deterministický kód) bylo, že jsem použil ex-či nebo ex-a logické operátory sloučit razítko a náhodné ochranné známky, razítka byla binární černé a bílé obrazu, kde černá byla zastoupena s -1 a bílé s 1, vytvořené ochranná známka byla Gaussova náhodný řetězec čarodějnice vzala na hodnoty [-1 1], a já pak embeded to v nízkých frekvencích pomocí dct2 .

Omlouváme se, pokud předchozí příspěvek je nabídka matoucí, tady je nápad.v kódu porovnat celkovou částku pixelů mezi image jste ochranu a vodoznak, ze vzhledem k výsledku velikost vodoznaku tak, že splňuje nějaké předem stanovené parametry aka 5% původního obrázku zde můžete snížit nebo rozzuřit jej.
Pak použijte velikost obrazu jako vodoznak, jak váš způsob používá lidské oko jako detektor vodoznaku To by neměl být problém.Ve své práci jsem velikost, převzorkován ji vytisknout a pak naskenovaný obrázek a Mark se postavil

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Mrknutí" border="0" />

Přidáno po 31 minutách:Můj přítel, zda tyto stránky z:
http://www.watermarker.com/forum/
má spoustu info a spoustu watermarker o to

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
ahoj
opravdu ..Opravdu děkuji vám velmi kaši ....
Dal jsem do mého kódu funkce 'imresize', abych mohl kódovat jakýkoli obrázek ..
Na druhé straně i začít používat funkci 'randn', které mají l = 0 & δ = 1
ale když jsem chtěl zkontrolovat výstup jsem ľ ≠ 0 & δ ≠ 1 i používání této funkce vědět o / p (= průměr (x) & b = std (x) nebo b = var (x)), takže
Víte, jak to poznám???
díky .........

<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutrální" border="0" />
 
Můj přítel nikdy nebudete brát stejné hodnoty kvůli image reencoding po vložení známka: image-> DCT-> (vložka značky-> dct2-> označené image;

Na druhé straně použití obrázku jako vodoznak je poměrně špatný nápad, pokud jste spojil řetězce dostali od randn čarodějnice má průměr 0 a odchylka 1 se tělesné image, která má poměrně vysoký korelační nový řetězec nikdy nebude mít m = 0 a δ = 1, je to způsobeno centrální hranici teorie.Můj návrh je, aby použití čistého pn řetězec jako vodoznak (pořád nevím, jak si vložit značku, ale jako obvyklý způsob je umístit ji v nízké frekv. Tha známka musí hod. = 0, takže ; s těžší odhalit ji.

 
ahoj
přetvoří funkce použité v 'DCT' program je převést matice na n-řádků a jedna colomn, ale v tomto programu Nevím, proč jsme tuto zprávu??
Druhá věc je chci vědět, jak vím, variance & znamenat jakékoli matrice poté, co jsem ji generovat pomocí funkce 'randn'
ex:
= randn (3);
průměr není roven nule & rozptylu není roven jedné ???????????????

 
střední hodnoty a rozptylu se rovná 0 a 1, pokud máte větší řetězec, a jak to je pseudo hluk nebude nikdy zcela 0 a 1, ale téměř stejný.

A o přetvořit funkce: charakteristiku dvourozměrných DCT transformace je, že velká část obrazů (signálů) energie (nižší frekvence) je umístěna v levém horním rohu a myšlenkou je místo ochranné známky na těchto frekvencích, takže jsme třeba klikatého DCT strašidlo na řetězec a použije wattermark tam (to je způsob, jakým funguje komprese JPEG, kde kličkuje nižších frekvencích jsou po zakódovány s DPCM a vyšší čarodějnice mají hodnotu blížící se nule jsou vyhazovány nebo jsou kódovány pomocí RLE.)
JPEG komprese mi tento nápad, ale je také jednodušší zavést ochranná známka s proměnnou délkou.

 
ahoj
Proto jsem třeba klikatého DCT strašidlo na řetězec??Chci generovat šum pomocí 'randn' tak:
= randn (600);
Teď chci, aby funkce, které mi říkají, že průměr se rovná nule & rozptyl roven jedné .....

<img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Zvolání" border="0" />
 
Musíte to udělat beacose jste vkládání známky v nejnižší frekvence (tím jste ovlivňování nejtěžší část obrazu a změny provedené ochranné známky jsou neznatelné, které lidské oko), a velikost známka 600 je příliš malé, vezměte v úvahu, že nejmenší image chcete chránit je 512x512 = 262144 pixelů bych doporučit ochranné známky velikosti cca 5000-10000 (původní obrázek je uint8 nebo 16, takže to má hodnot 0-256 a pseudo hluku [-1,1] je malý rozdíl);

 
Dalším bodem, během mého studia digitálního zpracování obrazu jsem měl projekt v vodoznaků, Becose nízké popularity výuky asistent tam nosil pouze faive studentů v tomto kurzu, a všichni jsme museli provést různé vodoznaky algoritham.Důl byl k provedení jedné pomocí DCT z Holle image, další, který bude více zloučené do jpeg byl nejprve udělat rozkol obraz 64x64 bloků a pak vložit pouze jeden vodotisk koeficientu v DCT spectar každého bloku (zde Don ' t potřebu zavést cikcak pouze jeden vodotisk Koeficient jde v dc hodnoty DCT z obrázku blok), třetí provedení bylo použití FFT na obrázek a vložit známky v amplitudy nebo fhase tohoto obrazu, čtvrtina provádění bylo použití filterbaks aka vlnky a místo vodoznak na hrubší část obrázku (nízká frekvence)

Ptal jste se proč je nutné klikatý?Umístíte-li vodoznak v polovině nebo vysoké frekvence pak lowpass obrazu, kterou culd poškození vodoznaku tak, aby culdn't být detekován.
Jak jsem si všiml, budete potřebovat probobly velikost vodoznaku musí být 600 becose používáte obrázek jako Ake razítko vodoznak, pokud máte použít obrázek použít nějaký větší jeden s unleast 10000 bodů 100x100.

 
ahoj
1 - Pořád nevím, proč jsem použití 'přetvořit' převést matici na matici s jedním sloupec ?????

<img src="http://www.edaboard.com/images/smiles/icon_arrow.gif" alt="Šipka" border="0" />

(Vím, že užívání nízkých frekv. Namísto poloviny frekv.)
2 - jak mohu vědět, že průměrná & rozptylu o / p funkce 'randn'
je rovna 0 a 1 ?????<img src="http://www.edaboard.com/images/smiles/icon_arrow.gif" alt="Šipka" border="0" />

i použití pokrytí obrazu (600 × 800) a vodoznak (20 × 50)
když změním vodoznak o / p mi chybu:
??Chyba pomocí ==> přetvořit
Přehodnotit počet prvků se nesmí měnit.

díky

 

Welcome to EDABoard.com

Sponsor

Back
Top