Bitplan
Bitplan – prostokątny obszar o określonym rozmiarze, składający się z pól bitowych tworzących mapę bitową. Każdy obraz składa się z co najmniej jednego bitplanu; z im większej liczby bitplanów składa się obraz, tym większą reprezentuje głębię koloru. Pojęcie „bitplane” jest czasem używane jako synonim bitmapy, jednak z technicznego punktu widzenia pierwsze pojęcie odnosi się do lokalizacji danych w pamięci, a drugie do samych danych[1].
Przykładowo, obraz z 8-bitowym kolorem jest tworzony przez 8 bitplanów – pierwszy bitplan składa się z najbardziej znaczących bitów, a 8. z najmniej znaczących bitów kolorów poszczególnych pikseli tego obrazu. Jeśli obraz jest -bitowy, a bit -tego bitplanu jest ustawiony na 1, to reprezentuje on w obrazie wartość Przykładowo piksel obrazu 8-bitowego ma kolor o wartości 166, czyli binarnie 10100110, wtedy odpowiadające mu bity w poszczególnych bitplanach będą następujące:
Numer
bitplanuWartość
bituWartość udziału
w kolorze pikselaWartość
sumaryczna1. 1 1 × 27 = 128 128 2. 0 0 × 26 = 0 128 3. 1 1 × 25 = 32 160 4. 0 0 × 24 = 0 160 5. 0 0 × 23 = 0 160 6. 1 1 × 22 = 4 164 7. 1 1 × 21 = 2 166 8. 0 0 × 20 = 0 166
Bitplan był podstawowym elementem grafiki w komputerach Amiga.
Zobacz też
Przypisy
Media użyte na tej stronie
Autor: Alessio Damato, Licencja: CC-BY-SA-3.0
the grayscale picture on the left is the original image, the 8 binary images on the right are the bit-planes of the original one. They are 8 because the input has 8 bit/pixel. I have created them in the following way. first I have used the Image:Lichtenstein img processing test.png test image, saving it on my harddisk as "castle.png". Then I have used the following Matlab code:
clear all % read image img=imread('castle.png'); % convert it to grayscale img=rgb2gray(img); img=imresize(img,0.5,'bicubic'); [x,y]=size(img); bitplanes=zeros(x,y,8); for i=1:x for j=1:y binary=de2bi(img(i,j),8,'left-msb'); for k=1:8 bitplanes(i,j,k)=binary(k); end end end imwrite(img,'original.png'); % original grayscale image imwrite(bitplanes(:,:,1),'bit1.png'); % MSB imwrite(bitplanes(:,:,2),'bit2.png'); imwrite(bitplanes(:,:,3),'bit3.png'); imwrite(bitplanes(:,:,4),'bit4.png'); imwrite(bitplanes(:,:,5),'bit5.png'); imwrite(bitplanes(:,:,6),'bit6.png'); imwrite(bitplanes(:,:,7),'bit7.png'); imwrite(bitplanes(:,:,8),'bit8.png'); % LSBthen I put them all together using GIMP. I have optimized the PNG using optipng.