MATLAB: How can i remove bits from a 8 bit pixel

watermarking

There is an 8 bit pixel and im considered as 5 bits of msb and 3 bits of lsb . so i want to remove 3 lsbs from the pixel. is it possible?

Best Answer

No. In MATLAB all of the numeric datatypes , and char as well , are defined as being multiples of 8 bits long. It is not possible to remove 3 bits from any numeric datatype or from char.
The size of the datatype logical is not specified in MATLAB . On the other hand there is no documented mechanism for setting more than true or false for logical . There is evidence that logical is one byte and that it could be hacked to store additional values... but none of those hacks would permit removing 3 bits from a logical .
I recommend that instead of trying to remove bits from pixels that you extract bits instead . see bitget and bitset.
Related Question