Image ROI (dart E)#
ROI 是兴趣区的缩写。
如果指定了图像 ROI,则相机将仅传输该区域内的像素数据。在大多数相机上,这会大大提高相机的最大帧速率。
该功能的使用#
更改 Image ROI 的位置和大小#
启用出厂设置后,相机将设置为默认分辨率。但是,您可以根据需要更改位置和大小。
要更改图像 ROI 的位置和大小,请执行以下操作:
- 确保相机空闲,即未在捕获图像。
-
使用以下参数指定图像 ROI 的大小:
Width
Height
-
使用以下参数指定图像 ROI 的位置:
OffsetX
OffsetY
图像 ROI 的原点位于传感器阵列的左上角(第 0 列、第 0 行)。
示例:假设您指定了以下设置:
Width
= 16Height
= 10OffsetX
= 2OffsetY
= 6
这将创建以下图像 ROI:
减小图像 ROI 的尺寸(尤其是高度)会显着提高相机的最大帧速率。
指导准则#
指定图像 ROI 时,请遵循以下准则:
指导准则 | 示例 |
---|---|
OffsetX + Width ≤ WidthMax | Camera with a 1920 x 1080 pixel sensor:OffsetX + Width ≤ 1920 |
OffsetY + Height ≤ HeightMax | Camera with a 1920 x 1080 pixel sensor:OffsetY + Height ≤ 1080 |
详情#
Image ROI 大小#
相机型号 | 最小宽度 | 宽度增量 | 最小高度 | 高度增量 |
---|---|---|---|---|
daA2500-60mc | 2 | 2 | 2 | 2 |
daA2500-60mci | 96 | 8 | 64 | 8 |
daA3840-30mc | 2 | 2 | 2 | 2 |
daA4200-30mci | 96 | 8 | 64 | 8 |
Image ROI 偏移#
相机型号 | Offset X 增量 | Offset Y 增量 |
---|---|---|
daA2500-60mc | 2 | 2 |
daA2500-60mci | 8 | 8 |
daA3840-30mc | 2 | 2 |
daA4200-30mci | 8 | 8 |
示例代码#
INodeMap& nodemap = camera.GetNodeMap();
// Set the width to the maximum value
int64_t maxWidth = CIntegerParameter(nodemap, "WidthMax").GetValue();
CIntegerParameter(nodemap, "Width").SetValue(maxWidth);
// Set the height to 500
CIntegerParameter(nodemap, "Height").SetValue(500);
// Set the offset to 0
CIntegerParameter(nodemap, "OffsetX").SetValue(0);
CIntegerParameter(nodemap, "OffsetY").SetValue(0);
// Set the width to the maximum value
Int64 maxWidth = camera.Parameters[PLCamera.WidthMax].GetValue();
camera.Parameters[PLCamera.Width].SetValue(maxWidth);
// Set the height to 500
camera.Parameters[PLCamera.Height].SetValue(500);
// Set the offset to 0
camera.Parameters[PLCamera.OffsetX].SetValue(0);
camera.Parameters[PLCamera.OffsetY].SetValue(0);
/* 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 */
int64_t maxWidth = 0;
/* Set the width to the maximum value */
errRes = PylonDeviceGetIntegerFeature(hdev, "WidthMax", &maxWidth);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "Width", maxWidth);
CHECK(errRes);
/* Set the height to 500 */
errRes = PylonDeviceSetIntegerFeature(hdev, "Height", 500);
CHECK(errRes);
/* Set the offset to 0 */
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetX", 0);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetY", 0);
CHECK(errRes);
/* 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 */
int64_t maxWidth = 0;
/* Set the width to the maximum value */
errRes = PylonDeviceGetIntegerFeature(hdev, "WidthMax", &maxWidth);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "Width", maxWidth);
CHECK(errRes);
/* Set the height to 500 */
errRes = PylonDeviceSetIntegerFeature(hdev, "Height", 500);
CHECK(errRes);
/* Set the offset to 0 */
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetX", 0);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetY", 0);
CHECK(errRes);
您还可以使用 pylon Viewer 轻松设置参数。