function y = imbitplanes(x, zo) if nargin == 1; zo = 1; end switch zo, case 0; x = double(x); [n, m] = size(x); xc = x(:); xcbin = dec2bin(xc, 8); y = zeros(n, m, 8); for k = 1:8 y(1:n, 1:m, k) = uint8(reshape(bin2dec(xcbin(:,k)), n,m)); end case 1, [n, m] = size(x); y = zeros(n, m, 8); for k = 1:8, b = 2^(8-k); y(:, :, k) = bitand(x, b); end end