2017-02-05 4 views
-1

Je veux mettre en œuvre un tatouage d'image réversible qui utilise la transformation IWT et filtre 5/3. au premier abord, je pense que ce filtre est cdf 5.3 qu'il est en matlab. mais après avoir exécuté le code j'ai découvert que ce n'est pas vrai et le filtre 5/3 est différent. après la recherche que j'ai eue, j'ai trouvé que ce filtre est legall 5/3 utilisé en JPEG2000. maintenant je devrais implémenter le filtre legall 5/3 au début et ensuite choisir la sous-bande HL1 pour incorporer mes données pour le watermarking. Je suis un peu confus comment mettre en œuvre ce filtre et l'utilisation de HL.comment développer le filtre LeGall 5/3 pour le watermarking réversible?

Répondre

0

L'ondelette LeGall 5/3 (CDF 5/3) est nommée bior2.2 dans MATLAB. La commande dwt2 avec l'argument 'bior2.2' exécute les deux dimensions CDF 5/3 décomposition en ondelettes:

[LL,HL,LH,HH] = dwt2(x,'bior2.2'); 

Ce retourne la sous-bande HL demandé. Cependant, vous ne voulez probablement pas l'utiliser.

Comme nous l'avons mentionné, une approximation d'entier à nombre entier d'ondelettes CDF 5/3 est également utilisée dans la norme JPEG 2000 pour une compression sans perte. C'est possible grâce au système de levage. Dans MATLAB, le schéma de levage CDF 5/3 entier est nommé cdf2.2. Ainsi, les commandes suivantes sont ce que vous cherchez probablement:

ls = liftwave('cdf2.2'); 
[LL,HL,LH,HH] = lwt2(x,ls); 

Voir lwt2 pour plus de détails.

+0

merci beaucoup.J'ai une autre question. Je suis en train de faire un tatouage réversible. A la fin de l'intégration, je devrais le faire et convertir l'image en uint8. cela crée une distorsion et ce n'est pas acceptable. que devrais-je faire? – reihan