コンテンツにスキップ

Multiple ROI#

Multiple ROIカメラ機能を使用すると、単一の画像として送信されるセンサーアレイ上の複数の領域を定義できます。

これらの領域からのピクセルデータのみが転送されます。これにより、カメラのフレームレートが増加します。

このMultiple ROI機能はStacked ROI機能に似ており、Basler ace GigEおよびBasler ace USB 3.0カメラ上でのみ利用可能です。

機能を使用する#

仕組み#

このMultiple ROI機能を使用すると、センサーアレイに領域を定義できます。領域の最大数は、カメラのモデルによって異なります。

画像を取得すると、領域内のピクセル情報のみがセンサーから読み取られ、単一の画像として送信されます。

領域のサイズと位置を個別に定義する代わりに、センサー配列に行と列を定義します。その後、列と行の各交差によって領域が作成されます。

次の例では、2つの行と2つの列が定義されています。これにより、次の4つの領域が作成されます:

Multiple ROI例

Region 11、Region 21、Region12、およびRegion 22内のピクセル情報は、1つの画像として送信されます。

Configuring the Rows and Columns#

  1. カメラがアイドル状態であること、つまり画像をキャプチャしていないことを確認します。
  2. Reverse X and Reverse Y機能が無効になっていること
    を確認します。行と列を設定した後で、画像ミラーリングを再度有効にできます。
  3. 列を設定します。
    1. 単一の列を定義する場合、
      1. BslMultipleROIColumnsEnableパラメーターをfalseに設定します。
      2. OffsetXパラメーターを列の目的の水平オフセットに設定します。この値はすべての領域に適用されます。
      3. Widthパラメーターを列の希望の幅に設定します。この値はすべての領域に適用されます。
    2. 複数の列を定義する場合:
      1. BslMultipleROIColumnsEnableパラメーターをtrueに設定します。
      2. BslMultipleROIColumnSelectorパラメーターを目的の出力ライン(例:Column0)に設定します。
      3. BslMultipleROIColumnOffsetパラメーターを目的の列の水平方向のオフセット(例:100)に設定します。
      4. BslMultipleROIColumnSizeパラメーターを目的の列の幅(例:50)に設定します。
      5. 設定するすべての列について、上記の手順を繰り返します。
        注:望ましくない副作用を避けるため、列は常に昇順に設定してください。つまり、列1から始めて、列2を設定して続けます。
  4. 行を設定する:
    1. 1つの行を定義する場合:
      1. BslMultipleROIRowsEnableパラメーターをfalseに設定します。
      2. OffsetYパラメーターを行の垂直オフセットに設定します。この値はすべての領域に適用されます。
      3. Heightパラメーターを行の高さに設定します。この値はすべての領域に適用されます。
    2. 複数の行を定義する場合:
      1. BslMultipleROIRowsEnableパラメーターをtrueに設定します。
      2. BslMultipleROIRowSelectorパラメーターを目的の出力ライン(例:Row0)に設定します。
      3. BslMultipleROIRowOffsetパラメーターを行の目的の垂直オフセット(例:100)に設定します。
      4. BslMultipleROIRowSizeパラメーターを行の高さ(例:50)に設定します。
      5. 設定するすべての行について、上記の手順を繰り返します。
        注: 望ましくない副作用を避けるため、行は常に昇順に設定してください。つまり、行1から始めて、行2を設定して続けます。
  5. 必要に応じて、Reverse X and Reverse Yを再度有効にします。
    これにより、列と行の位置がミラー画像に自動的に調整されます。

Considerations When Using the Multiple ROI Feature#

  • センサー固有の最小幅と高さは、すべての領域を組み合わせた場合(つまり、Multiple ROI機能によって作成された画像の場合)に使用されます。設定中、カメラは最小の幅と高さに合わせてパラメーター値と範囲を自動的に調整します。
    例:カメラのセンサーが530の最小合計幅を指定し、最大2つの列を設定できるとします。ここで、列1の幅を200に設定すると、カメラは自動的に列2の最小幅を330に設定します。
    例2:上記の例と同じセンサーを使用しているとします。また、そのセンサーの解像度が1920x1200であると仮定します。ここで、列0の垂直オフセットを900に設定すると、最小幅要件を満たす領域を定義するための十分なスペースがなくなります。このため、カメラは、任意の列の最大垂直オフセットを670(1200センサー幅から総領域の最小幅530を引いた値)に自動的に設定します。
  • 上記の制約のため、Baslerでは、列と行を昇順に設定することを強くお勧めします。つまり、列1から始めて、列2を設定して続けます。
  • BslMultipleROIColumnsEnableパラメーターがtrueに設定されている場合、次のパラメーターは読み取り専用になります。

    • OffsetY:このパラメーターは、列1の水平オフセットに設定されます。
    • Width:このパラメーターは、Multiple ROIすべての領域の合計幅(機能によって作成された画像の幅)に設定されます。
  • BslMultipleROIRowsEnableパラメーターがtrueに設定されている場合、次のパラメーターは読み取り専用になります。

    • OffsetX:このパラメーターは行1の垂直オフセットに設定されます。
    • Height:このパラメーターは、すべての領域の合計高さ(Multiple ROI機能によって作成された画像の高さ)に設定されます。
  • 画像サイズに影響を与えるその他のカメラ機能(BinningまたはPixel Beyond)は、Multiple ROI機能の後に適用されます。したがって、行と列を構成するときに、これらの機能の効果を考慮する必要はありません。

  • オートファンクションROIの位置とサイズは、Multiple ROI機能の出力に自動的に適応します。たとえば、すべての領域の幅が500の場合、AutoFunctionROIWidthパラメーターの最大値は500になります。

特性#

すべてのカメラモデルを表示します

カメラモデル Maximum Number of Regions
a2A1920-51gcBAS 4
a2A1920-51gcPRO 4
a2A1920-51gmBAS 4
a2A1920-51gmPRO 4
a2A1920-160ucBAS 4
a2A1920-160ucPRO 4
a2A1920-160umBAS 4
a2A1920-160umPRO 4
a2A2590-22gcBAS Multiple ROI機能はサポートされていません
a2A2590-22gcPRO Multiple ROI機能はサポートされていません
a2A2590-22gmBAS Multiple ROI機能はサポートされていません
a2A2590-22gmPRO Multiple ROI機能はサポートされていません
a2A2590-60ucBAS Multiple ROI機能はサポートされていません
a2A2590-60ucPRO Multiple ROI機能はサポートされていません
a2A2590-60umBAS Multiple ROI機能はサポートされていません
a2A2590-60umPRO Multiple ROI機能はサポートされていません
a2A3840-13gcBAS Multiple ROI機能はサポートされていません
a2A3840-13gcPRO Multiple ROI機能はサポートされていません
a2A3840-13gmBAS Multiple ROI機能はサポートされていません
a2A3840-13gmPRO Multiple ROI機能はサポートされていません
a2A3840-45ucBAS Multiple ROI機能はサポートされていません
a2A3840-45ucPRO Multiple ROI機能はサポートされていません
a2A3840-45umBAS Multiple ROI機能はサポートされていません
a2A3840-45umPRO Multiple ROI機能はサポートされていません
a2A4504-5gcBAS 64
a2A4504-5gcPRO 64
a2A4504-5gmBAS 64
a2A4504-5gmPRO 64
a2A4504-18ucBAS 64
a2A4504-18ucPRO 64
a2A4504-18umBAS 64
a2A4504-18umPRO 64
a2A5320-7gcBAS 64
a2A5320-7gcPRO 64
a2A5320-7gmBAS 64
a2A5320-7gmPRO 64
a2A5320-23ucBAS 64
a2A5320-23ucPRO 64
a2A5320-23umBAS 64
a2A5320-23umPRO 64
a2A5328-4gcBAS 64
a2A5328-4gcPRO 64
a2A5328-4gmBAS 64
a2A5328-4gmPRO 64
a2A5328-15ucBAS 64
a2A5328-15ucPRO 64
a2A5328-15umBAS 64
a2A5328-15umPRO 64
acA640-90gc Multiple ROI機能はサポートされていません
acA640-90gm Multiple ROI機能はサポートされていません
acA640-90uc Multiple ROI機能はサポートされていません
acA640-90um Multiple ROI機能はサポートされていません
acA640-120gc Multiple ROI機能はサポートされていません
acA640-120gm Multiple ROI機能はサポートされていません
acA640-120uc Multiple ROI機能はサポートされていません
acA640-120um Multiple ROI機能はサポートされていません
acA640-121gm Multiple ROI機能はサポートされていません
acA640-300gc Multiple ROI機能はサポートされていません
acA640-300gm Multiple ROI機能はサポートされていません
acA640-750uc Multiple ROI機能はサポートされていません
acA640-750um Multiple ROI機能はサポートされていません
acA720-290gc Multiple ROI機能はサポートされていません
acA720-290gm Multiple ROI機能はサポートされていません
acA720-520uc Multiple ROI機能はサポートされていません
acA720-520um Multiple ROI機能はサポートされていません
acA780-75gc Multiple ROI機能はサポートされていません
acA780-75gm Multiple ROI機能はサポートされていません
acA800-200gc Multiple ROI機能はサポートされていません
acA800-200gm Multiple ROI機能はサポートされていません
acA800-510uc Multiple ROI機能はサポートされていません
acA800-510um Multiple ROI機能はサポートされていません
acA1280-60gc Multiple ROI機能はサポートされていません
acA1280-60gm Multiple ROI機能はサポートされていません
acA1300-22gc Multiple ROI機能はサポートされていません
acA1300-22gm Multiple ROI機能はサポートされていません
acA1300-30gc Multiple ROI機能はサポートされていません
acA1300-30gm Multiple ROI機能はサポートされていません
acA1300-30uc Multiple ROI機能はサポートされていません
acA1300-30um Multiple ROI機能はサポートされていません
acA1300-60gc Multiple ROI機能はサポートされていません
acA1300-60gm Multiple ROI機能はサポートされていません
acA1300-60gmNIR Multiple ROI機能はサポートされていません
acA1300-75gc Multiple ROI機能はサポートされていません
acA1300-75gm Multiple ROI機能はサポートされていません
acA1300-200uc Multiple ROI機能はサポートされていません
acA1300-200um Multiple ROI機能はサポートされていません
acA1440-73gc Multiple ROI機能はサポートされていません
acA1440-73gm Multiple ROI機能はサポートされていません
acA1440-220uc Multiple ROI機能はサポートされていません
acA1440-220um Multiple ROI機能はサポートされていません
acA1600-20gc Multiple ROI機能はサポートされていません
acA1600-20gm Multiple ROI機能はサポートされていません
acA1600-20uc Multiple ROI機能はサポートされていません
acA1600-20um Multiple ROI機能はサポートされていません
acA1600-60gc Multiple ROI機能はサポートされていません
acA1600-60gm Multiple ROI機能はサポートされていません
acA1920-25gc Multiple ROI機能はサポートされていません
acA1920-25gm Multiple ROI機能はサポートされていません
acA1920-25uc Multiple ROI機能はサポートされていません
acA1920-25um Multiple ROI機能はサポートされていません
acA1920-40gc Multiple ROI機能はサポートされていません
acA1920-40gm Multiple ROI機能はサポートされていません
acA1920-40uc Multiple ROI機能はサポートされていません
acA1920-40ucMED Multiple ROI機能はサポートされていません
acA1920-40um Multiple ROI機能はサポートされていません
acA1920-40umMED Multiple ROI機能はサポートされていません
acA1920-48gc Multiple ROI機能はサポートされていません
acA1920-48gm Multiple ROI機能はサポートされていません
acA1920-50gc Multiple ROI機能はサポートされていません
acA1920-50gm Multiple ROI機能はサポートされていません
acA1920-150uc Multiple ROI機能はサポートされていません
acA1920-150um Multiple ROI機能はサポートされていません
acA1920-155uc Multiple ROI機能はサポートされていません
acA1920-155ucMED Multiple ROI機能はサポートされていません
acA1920-155um Multiple ROI機能はサポートされていません
acA1920-155umMED Multiple ROI機能はサポートされていません
acA2000-50gc Multiple ROI機能はサポートされていません
acA2000-50gm Multiple ROI機能はサポートされていません
acA2000-50gmNIR Multiple ROI機能はサポートされていません
acA2000-165uc Multiple ROI機能はサポートされていません
acA2000-165um Multiple ROI機能はサポートされていません
acA2000-165umNIR Multiple ROI機能はサポートされていません
acA2040-25gc Multiple ROI機能はサポートされていません
acA2040-25gm Multiple ROI機能はサポートされていません
acA2040-25gmNIR Multiple ROI機能はサポートされていません
acA2040-35gc Multiple ROI機能はサポートされていません
acA2040-35gm Multiple ROI機能はサポートされていません
acA2040-55uc Multiple ROI機能はサポートされていません
acA2040-55um Multiple ROI機能はサポートされていません
acA2040-90uc Multiple ROI機能はサポートされていません
acA2040-90um Multiple ROI機能はサポートされていません
acA2040-90umNIR Multiple ROI機能はサポートされていません
acA2040-120uc Multiple ROI機能はサポートされていません
acA2040-120um Multiple ROI機能はサポートされていません
acA2440-20gc Multiple ROI機能はサポートされていません
acA2440-20gm Multiple ROI機能はサポートされていません
acA2440-35uc Multiple ROI機能はサポートされていません
acA2440-35ucMED Multiple ROI機能はサポートされていません
acA2440-35um Multiple ROI機能はサポートされていません
acA2440-35umMED Multiple ROI機能はサポートされていません
acA2440-75uc Multiple ROI機能はサポートされていません
acA2440-75ucMED Multiple ROI機能はサポートされていません
acA2440-75um Multiple ROI機能はサポートされていません
acA2440-75umMED Multiple ROI機能はサポートされていません
acA2500-14gc Multiple ROI機能はサポートされていません
acA2500-14gm Multiple ROI機能はサポートされていません
acA2500-14uc Multiple ROI機能はサポートされていません
acA2500-14um Multiple ROI機能はサポートされていません
acA2500-20gc Multiple ROI機能はサポートされていません
acA2500-20gcMED Multiple ROI機能はサポートされていません
acA2500-20gm Multiple ROI機能はサポートされていません
acA2500-20gmMED Multiple ROI機能はサポートされていません
acA2500-60uc Multiple ROI機能はサポートされていません
acA2500-60um Multiple ROI機能はサポートされていません
acA3088-16gc Multiple ROI機能はサポートされていません
acA3088-16gm Multiple ROI機能はサポートされていません
acA3088-57uc Multiple ROI機能はサポートされていません
acA3088-57ucMED Multiple ROI機能はサポートされていません
acA3088-57um Multiple ROI機能はサポートされていません
acA3088-57umMED Multiple ROI機能はサポートされていません
acA3800-10gc Multiple ROI機能はサポートされていません
acA3800-10gm Multiple ROI機能はサポートされていません
acA3800-14uc Multiple ROI機能はサポートされていません
acA3800-14um Multiple ROI機能はサポートされていません
acA4024-8gc Multiple ROI機能はサポートされていません
acA4024-8gm Multiple ROI機能はサポートされていません
acA4024-29uc Multiple ROI機能はサポートされていません
acA4024-29um Multiple ROI機能はサポートされていません
acA4096-11gc Multiple ROI機能はサポートされていません
acA4096-11gm Multiple ROI機能はサポートされていません
acA4096-30uc Multiple ROI機能はサポートされていません
acA4096-30ucMED Multiple ROI機能はサポートされていません
acA4096-30um Multiple ROI機能はサポートされていません
acA4096-30umMED Multiple ROI機能はサポートされていません
acA4096-40uc Multiple ROI機能はサポートされていません
acA4096-40ucMED Multiple ROI機能はサポートされていません
acA4096-40um Multiple ROI機能はサポートされていません
acA4096-40umMED Multiple ROI機能はサポートされていません
acA4112-8gc Multiple ROI機能はサポートされていません
acA4112-8gm Multiple ROI機能はサポートされていません
acA4112-20uc Multiple ROI機能はサポートされていません
acA4112-20ucMED Multiple ROI機能はサポートされていません
acA4112-20um Multiple ROI機能はサポートされていません
acA4112-20umMED Multiple ROI機能はサポートされていません
acA4112-30uc Multiple ROI機能はサポートされていません
acA4112-30ucMED Multiple ROI機能はサポートされていません
acA4112-30um Multiple ROI機能はサポートされていません
acA4112-30umMED Multiple ROI機能はサポートされていません
acA4600-7gc Multiple ROI機能はサポートされていません
acA4600-10uc Multiple ROI機能はサポートされていません
acA5472-5gc Multiple ROI機能はサポートされていません
acA5472-5gm Multiple ROI機能はサポートされていません
acA5472-17uc Multiple ROI機能はサポートされていません
acA5472-17ucMED Multiple ROI機能はサポートされていません
acA5472-17um Multiple ROI機能はサポートされていません
acA5472-17umMED Multiple ROI機能はサポートされていません
boA4096-93cc 64
boA4096-93cm 64
boA4112-68cc 64
boA4112-68cm 64
boA4500-45cc 8
boA4500-45cm 8
boA6500-36cc 8
boA6500-36cm 8
boA8100-16cc 8
boA8100-16cm 8
daA1280-54lc Multiple ROI機能はサポートされていません
daA1280-54lm Multiple ROI機能はサポートされていません
daA1280-54uc Multiple ROI機能はサポートされていません
daA1280-54um Multiple ROI機能はサポートされていません
daA1600-60lc Multiple ROI機能はサポートされていません
daA1600-60lm Multiple ROI機能はサポートされていません
daA1600-60uc Multiple ROI機能はサポートされていません
daA1600-60um Multiple ROI機能はサポートされていません
daA1920-15um Multiple ROI機能はサポートされていません
daA1920-30uc Multiple ROI機能はサポートされていません
daA1920-30um Multiple ROI機能はサポートされていません
daA1920-160uc Multiple ROI機能はサポートされていません
daA1920-160um Multiple ROI機能はサポートされていません
daA2500-14lc Multiple ROI機能はサポートされていません
daA2500-14lm Multiple ROI機能はサポートされていません
daA2500-14uc Multiple ROI機能はサポートされていません
daA2500-14um Multiple ROI機能はサポートされていません
daA3840-45uc Multiple ROI機能はサポートされていません
daA3840-45um Multiple ROI機能はサポートされていません
puA1280-54uc Multiple ROI機能はサポートされていません
puA1280-54um Multiple ROI機能はサポートされていません
puA1600-60uc Multiple ROI機能はサポートされていません
puA1600-60um Multiple ROI機能はサポートされていません
puA1920-30uc Multiple ROI機能はサポートされていません
puA1920-30um Multiple ROI機能はサポートされていません
puA2500-14uc Multiple ROI機能はサポートされていません
puA2500-14um Multiple ROI機能はサポートされていません

サンプルコード#

// ** In this example, we define two regions in horizontal direction
// that will be transmitted as a single image. **
// Enable the ability to configure multiple columns
camera.BslMultipleROIColumnsEnable.SetValue(true);
// Select column 1
camera.BslMultipleROIColumnSelector.SetValue(BslMultipleROIColumnSelector_Column0);
// The first region should have a horizontal offset of 100 and a width of 300 pixels
camera.BslMultipleROIColumnOffset.SetValue(100);
camera.BslMultipleROIColumnSize.SetValue(300);
// Select column 2
camera.BslMultipleROIColumnSelector.SetValue(BslMultipleROIColumnSelector_Column1);
// The second region should have a horizontal offset of 500 and a width of 400 pixels
camera.BslMultipleROIColumnOffset.SetValue(500);
camera.BslMultipleROIColumnSize.SetValue(400);
// We only need one row, so disable the ability to configure multiple rows
camera.BslMultipleROIRowsEnable.SetValue(false);
// Both regions should have a vertical offset of 200 and a height of 500
camera.OffsetY.SetValue(200);
camera.Height.SetValue(500);
INodeMap& nodemap = camera.GetNodeMap();
// ** In this example, we define two regions in horizontal direction
// that will be transmitted as a single image. **
// Enable the ability to configure multiple columns
CBooleanParameter(nodemap, "BslMultipleROIColumnsEnable").SetValue(true);
// Select column 1
CEnumParameter(nodemap, "BslMultipleROIColumnSelector").SetValue("Column0");
// The first region should have a horizontal offset of 100 and a width of 300 pixels
CIntegerParameter(nodemap, "BslMultipleROIColumnOffset").SetValue(100);
CIntegerParameter(nodemap, "BslMultipleROIColumnSize").SetValue(300);
// Select column 2
CEnumParameter(nodemap, "BslMultipleROIColumnSelector").SetValue("Column1");
// The second region should have a horizontal offset of 500 and a width of 400 pixels
CIntegerParameter(nodemap, "BslMultipleROIColumnOffset").SetValue(500);
CIntegerParameter(nodemap, "BslMultipleROIColumnSize").SetValue(400);
// We only need one row, so disable the ability to configure multiple rows
CBooleanParameter(nodemap, "BslMultipleROIRowsEnable").SetValue(false);
// Both regions should have a vertical offset of 200 and a height of 500
CIntegerParameter(nodemap, "OffsetY").SetValue(200);
CIntegerParameter(nodemap, "Height").SetValue(500);
// ** In this example, we define two regions in horizontal direction
// that will be transmitted as a single image. **
// Enable the ability to configure multiple columns
camera.Parameters[PLCamera.BslMultipleROIColumnsEnable].SetValue(true);
// Select column 1
camera.Parameters[PLCamera.BslMultipleROIColumnSelector].SetValue(PLCamera.BslMultipleROIColumnSelector.Column0);
// The first region should have a horizontal offset of 100 and a width of 300 pixels
camera.Parameters[PLCamera.BslMultipleROIColumnOffset].SetValue(100);
camera.Parameters[PLCamera.BslMultipleROIColumnSize].SetValue(300);
// Select column 2
camera.Parameters[PLCamera.BslMultipleROIColumnSelector].SetValue(PLCamera.BslMultipleROIColumnSelector.Column1);
// The second region should have a horizontal offset of 500 and a width of 400 pixels
camera.Parameters[PLCamera.BslMultipleROIColumnOffset].SetValue(500);
camera.Parameters[PLCamera.BslMultipleROIColumnSize].SetValue(400);
// We only need one row, so disable the ability to configure multiple rows
camera.Parameters[PLCamera.BslMultipleROIRowsEnable].SetValue(false);
// Both regions should have a vertical offset of 200 and a height of 500
camera.Parameters[PLCamera.OffsetY].SetValue(200);
camera.Parameters[PLCamera.Height].SetValue(500);
/* 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 */
/* ** In this example, we define two regions in horizontal direction */
/* that will be transmitted as a single image. ** */
/* Enable the ability to configure multiple columns */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslMultipleROIColumnsEnable", 1);
CHECK(errRes);
/* Select column 1 */
errRes = PylonDeviceFeatureFromString(hdev, "BslMultipleROIColumnSelector", "Column0");
CHECK(errRes);
/* The first region should have a horizontal offset of 100 and a width of 300 pixels */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslMultipleROIColumnOffset", 100);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "BslMultipleROIColumnSize", 300);
CHECK(errRes);
/* Select column 2 */
errRes = PylonDeviceFeatureFromString(hdev, "BslMultipleROIColumnSelector", "Column1");
CHECK(errRes);
/* The second region should have a horizontal offset of 500 and a width of 400 pixels */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslMultipleROIColumnOffset", 500);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "BslMultipleROIColumnSize", 400);
CHECK(errRes);
/* We only need one row, so disable the ability to configure multiple rows */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslMultipleROIRowsEnable", 0);
CHECK(errRes);
/* Both regions should have a vertical offset of 200 and a height of 500 */
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetY", 200);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "Height", 500);
CHECK(errRes);

pylon Viewerを使用して、パラメーターを簡単に設定することもできます。