how to make 3 lsbs set to zero
Show older comments
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
Answers (2)
Raghunandan V
on 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 Comment
niranjan v
on 14 Mar 2019
Raghunandan V
on 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);
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!