Code covered by the BSD License  

Highlights from
bitrotate

Be the first to rate this file! 3 Downloads (last 30 days) File Size: 2.14 KB File ID: #30679
image thumbnail

bitrotate

by

 

Performs a circular shift of bit values

| Watch this File

File Information
Description

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/

MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.

Contact us