File Exchange

image thumbnail

bitrotate

version 1.0.0.0 (2.14 KB) by Kenneth Eaton
Performs a circular shift of bit values

1 Download

Updated 08 Mar 2011

View License

BITROTATE is a version of the built-in BITSHIFT that performs a circular shift of the bit pattern instead of discarding bits that overflow. Type "help bitrotate" at the command prompt to get a complete description of how to use BITROTATE.

As a cool example, I used BITROTATE to successively shift each bit of the default image data into the highest bit position to show the additional image data hidden within. The sample image above was created as follows:

defImage = pow2(get(0,'DefaultImageCData'),47);
imgCell = repmat({zeros(size(defImage))},8,7);
for shift = 0:52
imgCell{shift+1} = bitrotate(defImage,shift);
end;
allImages = cell2mat(imgCell.');
imshow(allImages,[min(allImages(:)) max(allImages(:))]);

You could do the same thing using BITSHIFT instead of BITROTATE, but I just thought it would be a neat illustration. You can check out the full story about this image on Steve's blog:

http://blogs.mathworks.com/steve/2006/10/17/the-story-behind-the-matlab-default-image/

Cite As

Kenneth Eaton (2020). bitrotate (https://www.mathworks.com/matlabcentral/fileexchange/30679-bitrotate), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

Amruta

how to optimise code for array to find rotation invariant lbp

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags