How to make an image from extracted Bit planes?
Afficher commentaires plus anciens
Hi, I'm new here. And beginner for MATLAB.
I've written a code for watermarking in spatial domain. I've applied the technique of replacing LSB of original image with watermark. Now, my question is, how to save these planes in a single image? It gives me error 'Matrix dimensions must match'... Kindly help...
A=imread('original.png'); C=imread('watermark.bmp');
B1 = bitget(A,1)*2^0; B2 = bitget(A,2)*2^1 ; B3 = bitget(A,3)*2^2 ; B4 = bitget(A,4)*2^3 ; B5 = bitget(A,5)*2^4 ; B6 = bitget(A,6)*2^5 ; B7 = bitget(A,7)*2^6 ; B8 = bitget(A,8)*2^7 ;
figure,subplot(3,3,1),imshow(B1); subplot(3,3,2),imshow(B2); subplot(3,3,3),imshow(B3); subplot(3,3,4),imshow(B4); subplot(3,3,5),imshow(B5); subplot(3,3,6),imshow(B6); subplot(3,3,7),imshow(B7); subplot(3,3,8),imshow(B8);
C1 = bitget(C,1)*2^0; C2 = bitget(C,2)*2^1 ; C3 = bitget(C,3)*2^2 ; C4 = bitget(C,4)*2^3 ; C5 = bitget(C,5)*2^4 ; C6 = bitget(C,6)*2^5 ; C7 = bitget(C,7)*2^6 ; C8 = bitget(C,8)*2^7 ;
figure,subplot(3,3,1),imshow(C1); subplot(3,3,2),imshow(C2); subplot(3,3,3),imshow(C3); subplot(3,3,4),imshow(C4); subplot(3,3,5),imshow(C5); subplot(3,3,6),imshow(C6); subplot(3,3,7),imshow(C7); subplot(3,3,8),imshow(C8);
M1 = bitget(C,8)*2^0; M2 = bitget(A,2)*2^1 ; M3 = bitget(A,3)*2^2 ; M4 = bitget(A,4)*2^3 ; M5 = bitget(A,5)*2^4 ; M6 = bitget(A,6)*2^5 ; M7 = bitget(A,7)*2^6 ; M8 = bitget(A,8)*2^7 ;
figure,subplot(3,3,1),imshow(M1); subplot(3,3,2),imshow(M2); subplot(3,3,3),imshow(M3); subplot(3,3,4),imshow(M4); subplot(3,3,5),imshow(M5); subplot(3,3,6),imshow(M6); subplot(3,3,7),imshow(M7); subplot(3,3,8),imshow(M8);
M=M1+M2+M3+M4+M5+M6+M7+M8; figure,imshow(M),title('Final Image');
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Watermarking dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!