how to make 3 lsbs set to zero
Afficher commentaires plus anciens
an rgb image have 8 bit image and how to make last 3 least significant bits to zero of each and every pixel in the image
Réponses (2)
Raghunandan V
le 14 Mar 2019
0 votes
Step1: load the rgb image
step2: create a matrix image(x,y,:)
Step3: convert values to binary>> de2bi
Step4: replace the 3 lbs to zero
Step5: convert them back to decimal>> d =bi2de(b)
1 commentaire
niranjan v
le 14 Mar 2019
Raghunandan V
le 14 Mar 2019
0 votes
I have written a sample code. Please take a look at it.
one point to be noted would be when you convert a decimal to binary in matlab. The value gets converted to a set of chars data units. This is because for a matrix to have zero as decimal means to have nothing but its not the same case with binary as binary is a set of charatcers.
%load the image into the matlab
Test = imread('Sample.jpg');
%convert the complete image into binary
TestBin = dec2bin(Test);
% replace the 3lsb's by 0
TestBin(:, 6:8) = '0';
% convert back to decimal
TestNew = bin2dec(TestBin);
%reshape to the input image size
TestNew = reshape(TestNew, size(Test));
%display the image
imshow(TestNew);
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!