所谓灰度图像,即指8位256颜色的图像。将图像的每一位分别取出来,我们就可以将一幅图像分解开来,形成8幅图像。下面我们分别介绍使用matlab分解图像与使用halcon/c++分解图像的方法。
matlab8位分解
clc;
clear all;
A = imread('lena.tif');
% 显示原始图像
subplot(3,3,1);
imshow(A);title('原始图像');
% 显示8个位平面图像
for i=8:-1:1
A_bitplane = bitshift(bitget(A,i),i-1);
subplot(3, 3, 9-i+1);
imshow(A_bitplane);
title(['位平面 ' num2str(i)]);
end
效果:
matlab8位合并复原
clc;
clear all;
A = imread('lena.tif');
Array=c