LSB insertion on RGB image
1 次查看(过去 30 天)
显示 更早的评论
I would like to know how one would
- Check the value of the LSB for each channel (R,G,B)
- Change the value (1->0 or 0->1)
Using 24-bit image ( 8 bit for each channel)
0 个评论
采纳的回答
Image Analyst
2015-1-15
See this:
m=magic(5)
lowestBits = rem(m, 2)
m =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
lowestBits =
1 0 1 0 1
1 1 1 0 0
0 0 1 0 0
0 0 1 1 1
1 0 1 0 1
So you'd do
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
% Get LSB's of each pixel.
redLsb = rem(redChannel, 2);
greenLsb = rem(greenChannel, 2);
blueLsb = rem(blueChannel, 2);
2 个评论
Image Analyst
2015-1-15
For (1), use imread().
For (2) - I don't know what you want to do. I showed you how to get the LSBs - you can do whatever you want with them after that.
For (3) you can just use a nested for loop to change the pixel based on the value of your LSB array.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!