NI Vision for LabVIEW

IMAQ FPGA Bayer To RGB VI

  • Updated2023-02-21
  • 18 minute(s) read
Owning Palette: Color Utilities
Requires: NI Vision Development Module FPGA

Decodes a Bayer-encoded image to produce an RGB representation of the image. Because the bilinear algorithm is faster, it is recommended to try the bilinear algorithm before the VNG algorithm. If the image contains many edges, or if the quality of edges in the image is important, use the VNG algorithm.

Note  

The VNG VI instance has variable latency, which is dependent on the image size. Plug the Minimum Latency value from the Estimated Performance section into the following formula to determine the total latency.

Total Latency = Minimum Latency + (Image Width+2)((Kernel Size/2) - 0.5) + 3

IMAQ FPGA BayerToRGB32 Bilinear U8x1

Decodes a Bayer-encoded image to produce an RGB representation of the image using bilinear interpolation to compute pixel values.

Instance Details

Supported Image Types

8-bit unsigned grayscale

IMAQ FPGA BayerToRGB32 Bilinear U8x1

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cu8.gif

Pixel Data is the value of the pixel.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Bayer Parameters specifies the Bayer settings to use to create the image.

ci32.gif

Pattern specifies the variation of the Bayer encoding pattern to use.

cfxp.gif

Red Gain is the gain to be applied to the red pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Green Gain is the gain to be applied to the green pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Blue Gain is the gain to be applied to the blue pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
icclst.gif

Pixel Bus Out when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

inclst.gif

Pixel Data is the value of the pixel.

iu8.gif

A is the value of the alpha plane.

iu8.gif

R/H is the red or hue value of the first color plane, depending on the color mode.

iu8.gif

G/S is the green or saturation value of the second color plane, depending on the color mode.

iu8.gif

B/L is the blue or luminance value of the third color plane, depending on the color mode.

ibool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

ibool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

ibool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

ienum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA BayerToRGB32 Bilinear U8x1 Details

Note  Resource estimates are based on a 40 MHz clock.

Virtex-5

Estimated Device Utilization

  • Slice Registers: 1448
  • Slice LUTs: 1611
  • DSP48s: 3
  • Block RAMs: 3

Estimated Performance

  • Minimum Latency: 11
  • Initiation Interval: 1

Spartan-6

Estimated Device Utilization

  • Slice Registers: 1431
  • Slice LUTs: 1462
  • DSP48s: 3
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 11
  • Initiation Interval: 1

Zynq

Estimated Device Utilization

  • Slice Registers: 1809
  • Slice LUTs: 1504
  • DSP48s: 3
  • Block RAMs: 3

Estimated Performance

  • Minimum Latency: 9
  • Initiation Interval: 1

Kintex-7

Estimated Device Utilization

  • Slice Registers: 1786
  • Slice LUTs: 1464
  • DSP48s: 3
  • Block RAMs: 3

Estimated Performance

  • Minimum Latency: 9
  • Initiation Interval: 1

IMAQ FPGA BayerToRGB32 Bilinear U8x8

Decodes a Bayer-encoded image to produce an RGB representation of the image using bilinear interpolation to compute pixel values.

Instance Details

Supported Image Types

8-bit unsigned grayscale

IMAQ FPGA BayerToRGB32 Bilinear U8x8

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cu8.gif

Pixel Data is the value of the pixel.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Bayer Parameters specifies the Bayer settings to use to create the image.

ci32.gif

Pattern specifies the variation of the Bayer encoding pattern to use.

cfxp.gif

Red Gain is the gain to be applied to the red pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Green Gain is the gain to be applied to the green pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Blue Gain is the gain to be applied to the blue pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
icclst.gif

Pixel Bus Out when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

inclst.gif

Pixel Data is the value of the pixel.

iu8.gif

A is the value of the alpha plane.

iu8.gif

R/H is the red or hue value of the first color plane, depending on the color mode.

iu8.gif

G/S is the green or saturation value of the second color plane, depending on the color mode.

iu8.gif

B/L is the blue or luminance value of the third color plane, depending on the color mode.

ibool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

ibool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

ibool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

ienum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA BayerToRGB32 Bilinear U8x8 Details

Note  Resource estimates are based on a 40 MHz clock.

Kintex-7

Estimated Device Utilization

  • Slice Registers: 5240
  • Slice LUTs: 3749
  • DSP48s: 24
  • Block RAMs: 5

Estimated Performance

  • Minimum Latency: 14
  • Initiation Interval: 1

IMAQ FPGA BayerToRGB32 VNG U8x1

Decodes a Bayer-encoded image to produce an RGB representation of the image using variable number of gradients (VNG) interpolation to compute pixel values.

Instance Details

Supported Image Types

8-bit unsigned grayscale

IMAQ FPGA BayerToRGB32 VNG U8x1

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cu8.gif

Pixel Data is the value of the pixel.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Bayer Parameters specifies the Bayer settings to use to create the image.

ci32.gif

Pattern specifies the variation of the Bayer encoding pattern to use.

cfxp.gif

Red Gain is the gain to be applied to the red pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Green Gain is the gain to be applied to the green pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Blue Gain is the gain to be applied to the blue pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
icclst.gif

Pixel Bus Out when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

inclst.gif

Pixel Data is the value of the pixel.

iu8.gif

A is the value of the alpha plane.

iu8.gif

R/H is the red or hue value of the first color plane, depending on the color mode.

iu8.gif

G/S is the green or saturation value of the second color plane, depending on the color mode.

iu8.gif

B/L is the blue or luminance value of the third color plane, depending on the color mode.

ibool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

ibool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

ibool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

ienum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA BayerToRGB32 VNG U8x1 Details

Note  Resource estimates are based on a 40 MHz clock.

Virtex-5

Estimated Device Utilization

  • Slice Registers: 4461
  • Slice LUTs: 5686
  • DSP48s: 19
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 16
  • Initiation Interval: 1

Spartan-6

Estimated Device Utilization

  • Slice Registers: 4566
  • Slice LUTs: 5429
  • DSP48s: 19
  • Block RAMs: 12

Estimated Performance

  • Minimum Latency: 16
  • Initiation Interval: 1

Zynq

Estimated Device Utilization

  • Slice Registers: 3880
  • Slice LUTs: 4926
  • DSP48s: 19
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 20
  • Initiation Interval: 1

Kintex-7

Estimated Device Utilization

  • Slice Registers: 3270
  • Slice LUTs: 4533
  • DSP48s: 19
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 20
  • Initiation Interval: 1

IMAQ FPGA BayerToRGB32 VNG U8x8

Decodes a Bayer-encoded image to produce an RGB representation of the image using variable number of gradients (VNG) interpolation to compute pixel values.

Instance Details

Supported Image Types

8-bit unsigned grayscale

IMAQ FPGA BayerToRGB32 VNG U8x8

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cu8.gif

Pixel Data is the value of the pixel.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Bayer Parameters specifies the Bayer settings to use to create the image.

ci32.gif

Pattern specifies the variation of the Bayer encoding pattern to use.

cfxp.gif

Red Gain is the gain to be applied to the red pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Green Gain is the gain to be applied to the green pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cfxp.gif

Blue Gain is the gain to be applied to the blue pixels in a Bayer-encoded image. The valid range for this parameter is 0 to 3.999.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
icclst.gif

Pixel Bus Out when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

inclst.gif

Pixel Data is the value of the pixel.

iu8.gif

A is the value of the alpha plane.

iu8.gif

R/H is the red or hue value of the first color plane, depending on the color mode.

iu8.gif

G/S is the green or saturation value of the second color plane, depending on the color mode.

iu8.gif

B/L is the blue or luminance value of the third color plane, depending on the color mode.

ibool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

ibool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

ibool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

ienum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA BayerToRGB32 VNG U8x8 Details

Note  Resource estimates are based on a 40 MHz clock.

Kintex-7

Estimated Device Utilization

  • Slice Registers: 28511
  • Slice LUTs: 34949
  • DSP48s: 168
  • Block RAMs: 9

Estimated Performance

  • Minimum Latency: 29
  • Initiation Interval: 1

Log in to get a better experience