watermark Embedding in Blocks

2 Ansichten (letzte 30 Tage)
amitesh kumar
amitesh kumar am 7 Mär. 2011
Bearbeitet: cui,xingxing am 27 Apr. 2024
hello everyone i want to embed watermark in image of size 512*512 & watermark size is 64*64. first of all i am converting original image into 8*8 block. then i want to convert watermark also into 8*8 block and embed it into four block only[16*4 = 64(its my watermark size)]. As i am converting original image into total 4096 block.i want to embed watermark into 64 blocks only. can any one elaborate the coding part for it.my part is as follows
%embedding watermark
for R22=1:64
Block2(:,:,xx:yy)=Block2(:,:,xx:yy)+ aa*Block5(:,:,1:64);
xx=64*(R22)+1;
yy=xx+63;
end;
Here consider Block2 as the blocked original image. aa is the embedding constant and Block5 is named to the watermark image. as here clear that its start embedding again after 64 block. but i want it should embed only first 64 block, not in whole image. thanx in advance

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 7 Mär. 2011
I think that in some places you mean "pixels", but that possibly in other places you do mean "blocks". Could you go back over your wording and check it?
Your current code is equivalent to the loop-less
Block2 = Block2 + aa * repmat(Block5(:,:,1:64),1,1,64))
but I am not clear as to what your target is.

Weitere Antworten (2)

Saira Khalid
Saira Khalid am 3 Jul. 2018
can you tell what is the initial value of xx and yy? @ amitesh kumar
  5 Kommentare
Saira Khalid
Saira Khalid am 5 Jul. 2018
Bearbeitet: Saira Khalid am 5 Jul. 2018
I have also tried with png . "Index exceeds matrix dimensions." Error
Block2=imread('erd.png');
Block2=im2double(Block2);
Block2=imresize(Block2,[512 512]);
Block2=rgb2gray(Block2);
imshow(Block2);
Block5=imread('logo.png');
Block5=im2double(Block5);
Block5=imresize(Block5,[64 64]);
xx = 1; yy = 64;aa=1;
for R22=1:64
Block2(:,:,xx:yy)=Block2(:,:,xx:yy)+ aa*Block5(:,:,1:64);
xx=64*(R22)+1;
yy=xx+63;
end
Walter Roberson
Walter Roberson am 6 Jul. 2018
You have not converted your image into an 8 x 8 x (number of blocks) array. For example you could use https://www.mathworks.com/matlabcentral/fileexchange/25763-tile and then
Block2 = cat(3, tiles{:})

Melden Sie sich an, um zu kommentieren.


cui,xingxing
cui,xingxing am 13 Sep. 2021
Bearbeitet: cui,xingxing am 27 Apr. 2024
-------------------------Off-topic interlude, 2024-------------------------------
I am currently looking for a job in the field of CV algorithm development, based in Shenzhen, Guangdong, China,or a remote support position. I would be very grateful if anyone is willing to offer me a job or make a recommendation. My preliminary resume can be found at: https://cuixing158.github.io/about/ . Thank you!
Email: cuixingxing150@gmail.com

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by