跳转到内容

Stacked ROI#

相机的 Stacked ROI 功能允许您在传感器阵列上定义高度和宽度相等的多个区域,这些区域将作为单个图像传输。

仅有这些分区的像素数据会被传输。这样可以提高相机的帧速率

The Stacked ROI feature is similar to the Stacked Zone Imaging feature, which is only available on ace GigE classic and ace USB 3.0 classic cameras.

该功能的使用#

运作原理#

Stacked ROI 功能允许您在传感器阵列上定义宽度相等的垂直对齐分区。最大分区数量取决于您的相机型号

采集图像时,仅从指定的分区内读出像素信息。然后将像素信息汇总在一起并作为单个图像发送。

ROI 分区示例

这些分区始终具有相同的宽度并垂直对齐。要配置分区,Basler 建议执行以下过程:

  1. 定义对所有分区均有效的宽度和水平偏移。
  2. 定义各个分区的高度和垂直偏移。

配置 ROI 分区#

  1. 确保相机空闲,即未在捕获图像。
  2. OffsetX 参数设置为所需的水平偏移。该值将应用于所有分区
  3. Width 参数设置为所需的分区宽度。该值将应用于所有分区
  4. ROIZoneSelector 参数设置为要配置的分区,例如 Zone0
  5. ROIZoneOffset 参数设置为所需的垂直偏移。该值将应用于在步骤 4 中选择的分区。
  6. ROIZoneSize 参数设置为所需的分区高度。该值将应用于在步骤 4 中选择的分区。
  7. ROIZoneMode 参数设置为 On 以启用分区。
  8. 对要配置的每个分区重复步骤 4 至 7。

Stacked ROI 功能使用注意事项#

  • 您可以按任意顺序启用分区。例如,您可以启用分区 1、3 和 5,并禁用分区 0、2 和 4。
  • 您可以将分区自由布置在传感器周围。例如,您可以将分区 0 放置在底部附近,将分区 2 放置在顶部附近,将分区 1 放置在中间。但是,相机始终会从传感器的最上方区域开始读出并传输像素数据,然后逐步向下方移动。
  • 您可以定义垂直重叠的分区。如果两个分区重叠,则将它们作为一个合并的分区发送。来自重叠区的像素数据仅被读出并发送一次。
  • 定义了至少一个分区后,以下参数将变为只读:
    • OffsetY
      将参数设置为最上方区域的垂直偏移。
    • Height
      该参数设置为最终图像的高度,即所有分区的高度之和。
    • CenterY
    • Sequencer 功能相关的所有参数。
  • 如果已配置分区,随后启用了像素合并,则会自动调整分区的位置和大小。参数值除以相应的像素合并系数并四舍五入。
  • 如果在使用 Stacked ROI 功能后禁用所有分区,图像 ROI 的大小和位置将设置为最后禁用分区的大小和位置。例如,假设启用了分区 0、1 和 2。然后,按以下顺序禁用分区:2、1、0。最终,图像 ROI 的大小和位置设置为已禁用的分区 0 的大小和位置。

详情#

显示所有相机型号

相机型号 ROI 分区的最大数量
a2A1920-51gcBAS 不支持 Stacked ROI 功能
a2A1920-51gcPRO 不支持 Stacked ROI 功能
a2A1920-51gmBAS 不支持 Stacked ROI 功能
a2A1920-51gmPRO 不支持 Stacked ROI 功能
a2A1920-160ucBAS 不支持 Stacked ROI 功能
a2A1920-160ucPRO 不支持 Stacked ROI 功能
a2A1920-160umBAS 不支持 Stacked ROI 功能
a2A1920-160umPRO 不支持 Stacked ROI 功能
a2A2590-22gcBAS 不支持 Stacked ROI 功能
a2A2590-22gcPRO 不支持 Stacked ROI 功能
a2A2590-22gmBAS 不支持 Stacked ROI 功能
a2A2590-22gmPRO 不支持 Stacked ROI 功能
a2A2590-60ucBAS 不支持 Stacked ROI 功能
a2A2590-60ucPRO 不支持 Stacked ROI 功能
a2A2590-60umBAS 不支持 Stacked ROI 功能
a2A2590-60umPRO 不支持 Stacked ROI 功能
a2A3840-13gcBAS 不支持 Stacked ROI 功能
a2A3840-13gcPRO 不支持 Stacked ROI 功能
a2A3840-13gmBAS 不支持 Stacked ROI 功能
a2A3840-13gmPRO 不支持 Stacked ROI 功能
a2A3840-45ucBAS 不支持 Stacked ROI 功能
a2A3840-45ucPRO 不支持 Stacked ROI 功能
a2A3840-45umBAS 不支持 Stacked ROI 功能
a2A3840-45umPRO 不支持 Stacked ROI 功能
acA640-90gc 不支持 Stacked ROI 功能
acA640-90gm 不支持 Stacked ROI 功能
acA640-90uc 不支持 Stacked ROI 功能
acA640-90um 不支持 Stacked ROI 功能
acA640-120gc 不支持 Stacked ROI 功能
acA640-120gm 不支持 Stacked ROI 功能
acA640-120uc 不支持 Stacked ROI 功能
acA640-120um 不支持 Stacked ROI 功能
acA640-121gm 不支持 Stacked ROI 功能
acA640-300gc 8
acA640-300gm 8
acA640-750uc 8
acA640-750um 8
acA720-290gc 不支持 Stacked ROI 功能
acA720-290gm 不支持 Stacked ROI 功能
acA720-520uc 不支持 Stacked ROI 功能
acA720-520um 不支持 Stacked ROI 功能
acA780-75gc 不支持 Stacked ROI 功能
acA780-75gm 不支持 Stacked ROI 功能
acA800-200gc 8
acA800-200gm 8
acA800-510uc 8
acA800-510um 8
acA1280-60gc 不支持 Stacked ROI 功能
acA1280-60gm 不支持 Stacked ROI 功能
acA1300-22gc 不支持 Stacked ROI 功能
acA1300-22gm 不支持 Stacked ROI 功能
acA1300-30gc 不支持 Stacked ROI 功能
acA1300-30gm 不支持 Stacked ROI 功能
acA1300-30uc 不支持 Stacked ROI 功能
acA1300-30um 不支持 Stacked ROI 功能
acA1300-60gc 不支持 Stacked ROI 功能
acA1300-60gm 不支持 Stacked ROI 功能
acA1300-60gmNIR 不支持 Stacked ROI 功能
acA1300-75gc 不支持 Stacked ROI 功能
acA1300-75gm 不支持 Stacked ROI 功能
acA1300-200uc 8
acA1300-200um 8
acA1440-73gc 不支持 Stacked ROI 功能
acA1440-73gm 不支持 Stacked ROI 功能
acA1440-220uc 2
acA1440-220um 2
acA1600-20gc 不支持 Stacked ROI 功能
acA1600-20gm 不支持 Stacked ROI 功能
acA1600-20uc 不支持 Stacked ROI 功能
acA1600-20um 不支持 Stacked ROI 功能
acA1600-60gc 不支持 Stacked ROI 功能
acA1600-60gm 不支持 Stacked ROI 功能
acA1920-25gc 不支持 Stacked ROI 功能
acA1920-25gm 不支持 Stacked ROI 功能
acA1920-25uc 不支持 Stacked ROI 功能
acA1920-25um 不支持 Stacked ROI 功能
acA1920-40gc 不支持 Stacked ROI 功能
acA1920-40gm 不支持 Stacked ROI 功能
acA1920-40uc 不支持 Stacked ROI 功能
acA1920-40ucMED 不支持 Stacked ROI 功能
acA1920-40um 不支持 Stacked ROI 功能
acA1920-40umMED 不支持 Stacked ROI 功能
acA1920-48gc 不支持 Stacked ROI 功能
acA1920-48gm 不支持 Stacked ROI 功能
acA1920-50gc 不支持 Stacked ROI 功能
acA1920-50gm 不支持 Stacked ROI 功能
acA1920-150uc 8
acA1920-150um 8
acA1920-155uc 4
acA1920-155ucMED 4
acA1920-155um 4
acA1920-155umMED 4
acA2000-50gc 不支持 Stacked ROI 功能
acA2000-50gm 不支持 Stacked ROI 功能
acA2000-50gmNIR 不支持 Stacked ROI 功能
acA2000-165uc 不支持 Stacked ROI 功能
acA2000-165um 不支持 Stacked ROI 功能
acA2000-165umNIR 不支持 Stacked ROI 功能
acA2040-25gc 不支持 Stacked ROI 功能
acA2040-25gm 不支持 Stacked ROI 功能
acA2040-25gmNIR 不支持 Stacked ROI 功能
acA2040-35gc 不支持 Stacked ROI 功能
acA2040-35gm 不支持 Stacked ROI 功能
acA2040-55uc 不支持 Stacked ROI 功能
acA2040-55um 不支持 Stacked ROI 功能
acA2040-90uc 不支持 Stacked ROI 功能
acA2040-90um 不支持 Stacked ROI 功能
acA2040-90umNIR 不支持 Stacked ROI 功能
acA2040-120uc 8
acA2040-120um 8
acA2440-20gc 不支持 Stacked ROI 功能
acA2440-20gm 不支持 Stacked ROI 功能
acA2440-35uc 不支持 Stacked ROI 功能
acA2440-35ucMED 不支持 Stacked ROI 功能
acA2440-35um 不支持 Stacked ROI 功能
acA2440-35umMED 不支持 Stacked ROI 功能
acA2440-75uc 8
acA2440-75ucMED 8
acA2440-75um 8
acA2440-75umMED 8
acA2500-14gc 不支持 Stacked ROI 功能
acA2500-14gm 不支持 Stacked ROI 功能
acA2500-14uc 不支持 Stacked ROI 功能
acA2500-14um 不支持 Stacked ROI 功能
acA2500-20gc 8
acA2500-20gcMED 8
acA2500-20gm 不支持 Stacked ROI 功能
acA2500-20gmMED 8
acA2500-60uc 8
acA2500-60um 8
acA3088-16gc 不支持 Stacked ROI 功能
acA3088-16gm 不支持 Stacked ROI 功能
acA3088-57uc 不支持 Stacked ROI 功能
acA3088-57um 不支持 Stacked ROI 功能
acA3800-10gc 不支持 Stacked ROI 功能
acA3800-10gm 不支持 Stacked ROI 功能
acA3800-14uc 不支持 Stacked ROI 功能
acA3800-14um 不支持 Stacked ROI 功能
acA4024-8gc 不支持 Stacked ROI 功能
acA4024-8gm 不支持 Stacked ROI 功能
acA4024-29uc 不支持 Stacked ROI 功能
acA4024-29um 不支持 Stacked ROI 功能
acA4096-11gc 不支持 Stacked ROI 功能
acA4096-11gm 不支持 Stacked ROI 功能
acA4096-30uc 不支持 Stacked ROI 功能
acA4096-30ucMED 不支持 Stacked ROI 功能
acA4096-30um 不支持 Stacked ROI 功能
acA4096-30umMED 不支持 Stacked ROI 功能
acA4096-40uc 8
acA4096-40ucMED 8
acA4096-40um 8
acA4096-40umMED 8
acA4112-8gc 不支持 Stacked ROI 功能
acA4112-8gm 不支持 Stacked ROI 功能
acA4112-20uc 不支持 Stacked ROI 功能
acA4112-20ucMED 不支持 Stacked ROI 功能
acA4112-20um 不支持 Stacked ROI 功能
acA4112-20umMED 不支持 Stacked ROI 功能
acA4112-30uc 8
acA4112-30ucMED 8
acA4112-30um 8
acA4112-30umMED 8
acA4600-7gc 不支持 Stacked ROI 功能
acA4600-10uc 不支持 Stacked ROI 功能
acA5472-5gc 不支持 Stacked ROI 功能
acA5472-5gm 不支持 Stacked ROI 功能
acA5472-17uc 不支持 Stacked ROI 功能
acA5472-17ucMED 不支持 Stacked ROI 功能
acA5472-17um 不支持 Stacked ROI 功能
boA4096-93cc 不支持 Stacked ROI 功能
boA4096-93cm 不支持 Stacked ROI 功能
boA4112-68cc 不支持 Stacked ROI 功能
boA4112-68cm 不支持 Stacked ROI 功能
daA1280-54lc 不支持 Stacked ROI 功能
daA1280-54lm 不支持 Stacked ROI 功能
daA1280-54uc 不支持 Stacked ROI 功能
daA1280-54um 不支持 Stacked ROI 功能
daA1600-60lc 不支持 Stacked ROI 功能
daA1600-60lm 不支持 Stacked ROI 功能
daA1600-60uc 不支持 Stacked ROI 功能
daA1600-60um 不支持 Stacked ROI 功能
daA1920-15um 不支持 Stacked ROI 功能
daA1920-30uc 不支持 Stacked ROI 功能
daA1920-30um 不支持 Stacked ROI 功能
daA2500-14lc 不支持 Stacked ROI 功能
daA2500-14lm 不支持 Stacked ROI 功能
daA2500-14uc 不支持 Stacked ROI 功能
daA2500-14um 不支持 Stacked ROI 功能
daA2500-60mc 不支持 Stacked ROI 功能
daA2500-60mci 不支持 Stacked ROI 功能
daA4200-30mci 不支持 Stacked ROI 功能
puA1280-54uc 不支持 Stacked ROI 功能
puA1280-54um 不支持 Stacked ROI 功能
puA1600-60uc 不支持 Stacked ROI 功能
puA1600-60um 不支持 Stacked ROI 功能
puA1920-30uc 不支持 Stacked ROI 功能
puA1920-30um 不支持 Stacked ROI 功能
puA2500-14uc 不支持 Stacked ROI 功能
puA2500-14um 不支持 Stacked ROI 功能

示例代码#

// Configure width and offset X for all zones
camera.Width.SetValue(200);
camera.OffsetX.SetValue(100);
// Select zone 0
camera.ROIZoneSelector.SetValue(ROIZoneSelector_Zone0);
// Set the vertical offset for the selected zone
camera.ROIZoneOffset.SetValue(100);
// Set the height for the selected zone
camera.ROIZoneSize.SetValue(100);
// Enable the selected zone
camera.ROIZoneMode.SetValue(ROIZoneMode_On);
// Select zone 1
camera.ROIZoneSelector.SetValue(ROIZoneSelector_Zone1);
// Set the vertical offset for the selected zone
camera.ROIZoneOffset.SetValue(250);
// Set the height for the selected zone
camera.ROIZoneSize.SetValue(200);
// Enable the selected zone
camera.ROIZoneMode.SetValue(ROIZoneMode_On);
INodeMap& nodemap = camera.GetNodeMap();
// Configure width and offset X for all zones
CIntegerPtr(nodemap.GetNode("Width"))->SetValue(200);
CIntegerPtr(nodemap.GetNode("OffsetX"))->SetValue(100);
// Select zone 0
CEnumerationPtr(nodemap.GetNode("ROIZoneSelector"))->FromString("Zone0");
// Set the vertical offset for the selected zone
CIntegerPtr(nodemap.GetNode("ROIZoneOffset"))->SetValue(100);
// Set the height for the selected zone
CIntegerPtr(nodemap.GetNode("ROIZoneSize"))->SetValue(100);
// Enable the selected zone
CEnumerationPtr(nodemap.GetNode("ROIZoneMode"))->FromString("On");
// Select zone 1
CEnumerationPtr(nodemap.GetNode("ROIZoneSelector"))->FromString("Zone1");
// Set the vertical offset for the selected zone
CIntegerPtr(nodemap.GetNode("ROIZoneOffset"))->SetValue(250);
// Set the height for the selected zone
CIntegerPtr(nodemap.GetNode("ROIZoneSize"))->SetValue(200);
// Enable the selected zone
CEnumerationPtr(nodemap.GetNode("ROIZoneMode"))->FromString("On");
INodeMap& nodemap = camera.GetNodeMap();
// Configure width and offset X for all zones
CIntegerParameter(nodemap, "Width").SetValue(200);
CIntegerParameter(nodemap, "OffsetX").SetValue(100);
// Select zone 0
CEnumParameter(nodemap, "ROIZoneSelector").SetValue("Zone0");
// Set the vertical offset for the selected zone
CIntegerParameter(nodemap, "ROIZoneOffset").SetValue(100);
// Set the height for the selected zone
CIntegerParameter(nodemap, "ROIZoneSize").SetValue(100);
// Enable the selected zone
CEnumParameter(nodemap, "ROIZoneMode").SetValue("On");
// Select zone 1
CEnumParameter(nodemap, "ROIZoneSelector").SetValue("Zone1");
// Set the vertical offset for the selected zone
CIntegerParameter(nodemap, "ROIZoneOffset").SetValue(250);
// Set the height for the selected zone
CIntegerParameter(nodemap, "ROIZoneSize").SetValue(200);
// Enable the selected zone
CEnumParameter(nodemap, "ROIZoneMode").SetValue("On");
// Configure width and offset X for all zones
camera.Parameters[PLCamera.Width].SetValue(200);
camera.Parameters[PLCamera.OffsetX].SetValue(100);
// Select zone 0
camera.Parameters[PLCamera.ROIZoneSelector].SetValue(PLCamera.ROIZoneSelector.Zone0);
// Set the vertical offset for the selected zone
camera.Parameters[PLCamera.ROIZoneOffset].SetValue(100);
// Set the height for the selected zone
camera.Parameters[PLCamera.ROIZoneSize].SetValue(100);
// Enable the selected zone
camera.Parameters[PLCamera.ROIZoneMode].SetValue(PLCamera.ROIZoneMode.On);
// Select zone 1
camera.Parameters[PLCamera.ROIZoneSelector].SetValue(PLCamera.ROIZoneSelector.Zone1);
// Set the vertical offset for the selected zone
camera.Parameters[PLCamera.ROIZoneOffset].SetValue(250);
// Set the height for the selected zone
camera.Parameters[PLCamera.ROIZoneSize].SetValue(200);
// Enable the selected zone
camera.Parameters[PLCamera.ROIZoneMode].SetValue(PLCamera.ROIZoneMode.On);
// Configure width and offset X for all zones
Pylon.DeviceSetIntegerFeature(hdev, "Width", 200);
Pylon.DeviceSetIntegerFeature(hdev, "OffsetX", 100);
// Select zone 0
Pylon.DeviceFeatureFromString(hdev, "ROIZoneSelector", "Zone0");
// Set the vertical offset for the selected zone
Pylon.DeviceSetIntegerFeature(hdev, "ROIZoneOffset", 100);
// Set the height for the selected zone
Pylon.DeviceSetIntegerFeature(hdev, "ROIZoneSize", 100);
// Enable the selected zone
Pylon.DeviceFeatureFromString(hdev, "ROIZoneMode", "On");
// Select zone 1
Pylon.DeviceFeatureFromString(hdev, "ROIZoneSelector", "Zone1");
// Set the vertical offset for the selected zone
Pylon.DeviceSetIntegerFeature(hdev, "ROIZoneOffset", 250);
// Set the height for the selected zone
Pylon.DeviceSetIntegerFeature(hdev, "ROIZoneSize", 200);
// Enable the selected zone
Pylon.DeviceFeatureFromString(hdev, "ROIZoneMode", "On");
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Configure width and offset X for all zones */
errRes = PylonDeviceSetIntegerFeature(hdev, "Width", 200);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetX", 100);
CHECK(errRes);
/* Select zone 0 */
errRes = PylonDeviceFeatureFromString(hdev, "ROIZoneSelector", "Zone0");
CHECK(errRes);
/* Set the vertical offset for the selected zone */
errRes = PylonDeviceSetIntegerFeature(hdev, "ROIZoneOffset", 100);
CHECK(errRes);
/* Set the height for the selected zone */
errRes = PylonDeviceSetIntegerFeature(hdev, "ROIZoneSize", 100);
CHECK(errRes);
/* Enable the selected zone */
errRes = PylonDeviceFeatureFromString(hdev, "ROIZoneMode", "On");
CHECK(errRes);
/* Select zone 1 */
errRes = PylonDeviceFeatureFromString(hdev, "ROIZoneSelector", "Zone1");
CHECK(errRes);
/* Set the vertical offset for the selected zone */
errRes = PylonDeviceSetIntegerFeature(hdev, "ROIZoneOffset", 250);
CHECK(errRes);
/* Set the height for the selected zone */
errRes = PylonDeviceSetIntegerFeature(hdev, "ROIZoneSize", 200);
CHECK(errRes);
/* Enable the selected zone */
errRes = PylonDeviceFeatureFromString(hdev, "ROIZoneMode", "On");
CHECK(errRes);

您也可以使用 pylon Viewer 轻松设置参数。