function y = imneg(x) p = improp(x); if strcmp(p.type, 'gray'), L = 2^(p.bits); y = uint8(L - 1 - double(x)); % y = bitcmp(x, p.bits); elseif strcmp(p.type, 'color'), x = double(x); [m, n, k] = size(x); y = zeros(n, m, k); L = 2^(p.bits / 3); red = x(:, :, 1); green = x(:, :, 2); blue = x(:, :, 3); y(:, :, 1) = L - 1 - red; y(:, :, 2) = L - 1 - green; y(:, :, 3) = L - 1 - blue; y = uint8(y); % y = bitcmp(x, p.bits/3); end