![]() |
IDS peak ICV v1.1.0
|
A pixel (short for picture element) is the smallest addressable spatial unit in a digital image. Each pixel corresponds to a specific point in the image grid and contains one or more channels, depending on the image type and format. These channels store data such as color components (e.g., red, green, and blue), intensity, depth, confidence, or alpha transparency. The combination of these channel values defines the full content of a pixel. How these values are encoded is determined by the pixel format.
A pixel format defines how the data within each pixel is structured, stored, and interpreted. It specifies:
The pixel format ensures that software and hardware components interpret image data consistently and correctly. It is essential for image acquisition, processing, compression, and display pipelines.
Pixel Data Type
Specifies the type of data each pixel contains. This can include color images (e.g., RGB), intensity (Mono), raw data (Bayer), spatial coordinates (Coord3D), confidence values (Confidence), or other information types.
Bit Depth and Data Type
Indicates the number of bits used per channel (e.g., 8, 10, 32). Higher bit depths provide greater precision or dynamic range. Additionally, the suffix f indicates a floating-point data type rather than an integer.
Packing Method
Describes how pixel data is stored in memory:
pg12 for 12-bit grouping).Channel Order
Defines the sequence of channel values within a pixel (e.g., RGB vs. BGR).
Pixel Order
Specifies the arrangement of color filters in a Bayer pattern (e.g, BayerRG).
Monochrome pixel formats begin with the prefix Mono, followed by the bit depth (e.g., 8, 10, 12), and optionally include an indicator: p for packed or g for grouped formats.
| Pixel format | Bit depth | Data size per pixel |
|---|---|---|
| Mono8 | 8 | 1 byte = 8 bit |
| Mono10 | 10 | 2 byte = 16 bit |
| Mono12 | 12 | 2 byte = 16 bit |
| Mono16 | 16 | 2 byte = 16 bit |
| Mono10p | 10 | 1.25 byte = 10 bit |
| Mono12p | 12 | 1.5 byte = 12 bit |
| Mono10g40* | 10 | 1.25 byte = 10 bit |
| Mono12g24* | 12 | 1.5 byte = 12 bit |
RAW Bayer pixel format names begin with the Bayer color filter pattern (e.g., BayerRG), followed by the bit depth (8, 10, 12), and optionally include an indicator: p for packed or g for grouped formats.
| Pixel format | Bit depth | Pixel Color Filter | Data size per pixel |
|---|---|---|---|
| BayerRG8 | 8 | BayerRG | 1 byte = 8 bit |
| BayerRG10 | 10 | BayerRG | 2 byte = 16 bit |
| BayerRG12 | 12 | BayerRG | 2 byte = 16 bit |
| BayerRG10p | 10 | BayerRG | 1.25 byte = 10 bit |
| BayerRG12p | 12 | BayerRG | 1.5 byte = 12 bit |
| BayerRG10g40* | 10 | BayerRG | 1.25 byte = 10 bit |
| BayerRG12g24* | 12 | BayerRG | 1.5 byte = 12 bit |
| BayerGR8 | 8 | BayerGR | 1 byte = 8 bit |
| BayerGR10 | 10 | BayerGR | 2 byte = 16 bit |
| BayerGR12 | 12 | BayerGR | 2 byte = 16 bit |
| BayerGR10p | 10 | BayerGR | 1.25 byte = 10 bit |
| BayerGR12p | 12 | BayerGR | 1.5 byte = 12 bit |
| BayerGR10g40* | 10 | BayerGR | 1.25 byte = 10 bit |
| BayerGR12g24* | 12 | BayerGR | 1.5 byte = 12 bit |
| BayerGB8 | 8 | BayerGB | 1 byte = 8 bit |
| BayerGB10 | 10 | BayerGB | 2 byte = 16 bit |
| BayerGB12 | 12 | BayerGB | 2 byte = 16 bit |
| BayerGB10p | 10 | BayerGB | 1.25 byte = 10 bit |
| BayerGB12p | 12 | BayerGB | 1.5 byte = 12 bit |
| BayerGB10g40* | 10 | BayerGB | 1.25 byte = 10 bit |
| BayerGB12g24* | 12 | BayerGB | 1.5 byte = 12 bit |
| BayerBG8 | 8 | BayerBG | 1 byte = 8 bit |
| BayerBG10 | 10 | BayerBG | 2 byte = 16 bit |
| BayerBG12 | 12 | BayerBG | 2 byte = 16 bit |
| BayerBG10p | 10 | BayerBG | 1.25 byte = 10 bit |
| BayerBG12p | 12 | BayerBG | 1.5 byte = 12 bit |
| BayerBG10g40* | 10 | BayerBG | 1.25 byte = 10 bit |
| BayerBG12g24* | 12 | BayerBG | 1.5 byte = 12 bit |
Color pixel format names start with either RGB or BGR, indicating the order of the color channels. This is optionally followed by an a to denote the presence of an alpha channel (opacity). After that comes the bit depth (8, 10, 12), optionally followed by the indicator p for packed formats.
| Pixel format | Bit depth | Channels | Data size per pixel |
|---|---|---|---|
| RGB8 | 8 | Red, Green, Blue | 3 byte = 24 bit |
| RGB10 | 10 | Red, Green, Blue | 6 byte = 48 bit |
| RGB12 | 12 | Red, Green, Blue | 6 byte = 48 bit |
| RGB10p32 | 12 | Red, Green, Blue | 4 byte = 32 bit |
| BGR8 | 8 | Blue, Green, Red | 3 byte = 24 bit |
| BGR10 | 10 | Blue, Green, Red | 6 byte = 48 bit |
| BGR12 | 12 | Blue, Green, Red | 6 byte = 48 bit |
| BGR10p32 | 12 | Blue, Green, Red | 4 byte = 32 bit |
| RGBa8 | 8 | Red, Green, Blue, Alpha | 4 byte = 32 bit |
| RGBa10 | 10 | Red, Green, Blue, Alpha | 8 byte = 64 bit |
| RGBa12 | 12 | Red, Green, Blue, Alpha | 8 byte = 64 bit |
| BGRa8 | 8 | Blue, Green, Red, Alpha | 4 byte = 32 bit |
| BGRa10 | 10 | Blue, Green, Red, Alpha | 8 byte = 64 bit |
| BGRa12 | 12 | Blue, Green, Red, Alpha | 8 byte = 64 bit |
Confidence pixel formats begin with the prefix Confidence, followed by the bit depth (8, 16).
| Pixel format | Bit depth | Data size per pixel |
|---|---|---|
| Confidence8 | 8 | 1 byte = 8 bit |
| Confidence16 | 16 | 2 byte = 16 bit |
These pixel formats represent 3D data. Their names start with Coord3D_, followed by the coordinate components included (ABC, C), and the bit depth (8, 16, 32f). The suffix f indicates a floating-point data type.
| Pixel format | Bit depth | Data type | Coordinates | Data size per pixel |
|---|---|---|---|---|
| Coord3D_C8 | 8 | 8 bit int | C | 1 byte = 8 bit |
| Coord3D_C16 | 16 | 16 bit int | C | 2 byte = 16 bit |
| Coord3D_C32f | 32 | 32 bit float | C | 4 byte = 32 bit |
| Coord3D_ABC32f | 32 | 32 bit float | ABC | 12 byte = 96 bit |
YUV pixel formats start with the prefix YUV, followed by the pixel encoding (420, 422), the bit depth (8), and the data layout type (YY_UV*, YY_VU*, UYVY).
| Pixel format | Bit depth | Data size per pixel |
|---|---|---|
| YUV420_8_YY_UV_Semiplanar* | 8 | 1.5 byte = 12 bit |
| YUV420_8_YY_VU_Semiplanar* | 8 | 1.5 byte = 12 bit |
| YUV422_8_UYVY | 8 | 2 byte = 16 bit |