Substitution of LSB of RGB component by other bits

1 次查看(过去 30 天)
I have extracted audio bits in a variable. These needs to be substituted in RGB components at various pixel positions. I have the pixel positions and 8 bit value of each RGB at that position. Want to know how last 2 LSB of, say, RED component can be replaced by first 2 bits of audio data.
Kindly share if a link is already available for same.
  2 个评论
sangeeta
sangeeta 2013-4-18
Let value of R component at position(x1,y1) is [10010000].
Audio data is [11010101......]
2 LSB of R = [00]
These needs to be replaced by first two bits of audio data[11]
So finally value of R at (x1,y1) becomes [10010011].
Is there any substitution/replace method available in Matlab? Kindly reply soon.
Vinsa
Vinsa 2014-6-4
i am doing steganography on line based cubism images..how this adaptive LSB substitution for smooth areas and two component lsb substitution for edge areas can be done? kindly give me reply.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2013-4-18
bitset()
  2 个评论
sangeeta
sangeeta 2013-4-18
编辑:sangeeta 2013-4-18
Thanks Walter.
Kindly look into this:
r is red component value, say, 11000010
bits is bits to be replaced, last three.
firstAudio contain the three bits of audio data, say,001
if true
bits = 1:3;
a = dec2bin(bitset(bin2dec(r),bits,firstAudio));
end
I get:
a = 11000010
11000000
11000110
I want the replacement in the same byte, instead of 3 outputs, that is 'a' should be 11000001
Walter Roberson
Walter Roberson 2013-4-18
Use 3 bitset() calls.
Or if you are already using dec2bin storage for both r and firstAudio, then with no loops,
a = r;
a(end-2:end) = firstAudio(end-2:end);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by