跳至內容
測試伺服器
開發伺服器

Flat-Field Correction#

Flat-Field Correction (FFC) 相機功能可讓您消除因感光元件像素的光感應差異、以及照明與照明光學系統所造成的影像不均勻現象。

使用此功能#

影像不均勻現象在數位成像中相當常見。這些現象是由感光元件像素的亮度輸出差異,以及光源和照明光學系統的影響所造成。Flat-Field Correction 透過修正原始像素值來將這些不均勻現象減至最低,進而改善影像 Quality 並提升後續分析的效果。

在套用 Flat-Field Correction 之前,相機必須先進行 校正。這包含計算適當的校正資料。藉此,原始像素可以在影像擷取期間得到修正,進而產生更佳的影像。

Flat-Field Correction 功能的實作方式會因相機而異:

Flat-Field Correction 類型#

根據 相機型號,Basler 相機支援 區塊式 (block-based) 和 直欄式 (column-based) Flat-Field Correction。

區塊式 (block-based) Flat-Field Correction 可修正由光響應不均勻性 (PRNU) 以及源自照明與照明光學系統的低頻變異所引起的影像偽影。區塊式 FFC 將感光元件「分割」成由特定數量像素組成的正方形區塊。在校正期間,系統會為每個正方形區塊計算校正資料,然後進行內插並套用到感光元件的每個像素上。

直欄式 (column-based) Flat-Field Correction 可修正由暗電流訊號不均勻性 (DSNU) 與光響應不均勻性 (PRNU) 所引起的影像偽影。針對感光元件的每一個直欄,必須在校正期間計算 DSNU 與 PRNU 的校正值。在影像擷取期間,這些按直欄計算的校正值會套用到原始像素值。

下圖顯示區塊式與直欄式 Flat-Field Correction 的不同原理。

Flat-Field Correction 類型

建立校正值 (CV)#

區塊式 Flat-Field Correction: 拍攝一連串明場 (平場) 影像,以偵測光響應不均勻性 (PRNU) 以及例如由燈光或光學系統所引起的低頻偽影。校正值 (CV) 是由相機計算並儲存到相機的快閃記憶體中。

區塊式 Flat-Field Correction 步驟 1

直欄式 Flat-Field Correction: 拍攝一連串暗場影像 (A) 以偵測暗訊號不均勻性 (DSNU) (暗電流雜訊),並拍攝一連串明場 (平場) 影像 (B) 以偵測光響應不均勻性 (PRNU)。接著必須由使用者計算校正值 (CV) 並儲存到相機的快閃記憶體中。

直欄式 Flat-Field Correction 步驟 1

套用 Flat-Field Correction#

只要啟用 Flat-Field Correction 功能,影像偽影就會被移除。原始像素值 (OV) 會被修正,進而產生改善後的影像 (結果值,RV)。

區塊或直欄式 Flat-Field Correction 步驟 2

ace 相機#

根據 您的 ace 2 相機型號,提供 區塊式 (block-based) Flat-Field Correction。

資訊

此功能由 pylon Viewer 的 Block-Based Flat-Field Correction 功能相輔相成。

區塊式 Flat-Field Correction#

建立 Flat-Field Correction Set#

此步驟包含校正相機,並將計算出的校正值儲存在稱為 flat-field correction set 的檔案中。若要執行此操作,請使用 pylon Viewer 的 Block-Based Flat-Field Correction 功能。

您可以建立最多 4 個校正集。

啟用 Flat-Field Correction Set#

若要啟用 flat-field correction set:

  1. 將 BslFlatFieldCorrectionMode 參數設為 On.
  2. 將 BslFlatFieldCorrectionSetIndex 參數設為要使用的設定集索引編號,例如索引編號 2。

    所選的 flat-field correction set 會自動啟用。

資訊

您可以在影像擷取期間變更 flat-field correction set。

boost V 相機#

Basler boost V 相機支援 區塊式 (block-based) Flat-Field Correction 與 直欄式 (column-based) Flat-Field Correction。這兩種校正原理可以結合使用或單獨使用。

區塊式 Flat-Field Correction#

建立 Flat-Field Correction Set#

此步驟涉及校正相機,並將計算出的校正值儲存在稱為flat-field correction set的檔案中。您可以建立最多 16 個校正集。

在開始建立 flat-field correction set 之前,您需要準備以下項目:

  • 具有均勻背景的目標物,例如一張白紙

資訊

為了獲得最佳結果,請根據實際運作時的情況調整光學元件、影格率、Exposure Time、增益和相機溫度。Basler 建議在您的實際應用環境中擷取明視野影像。

若要建立 flat-field correction set:

  1. 將 Width 和 Height 的參數 影像 ROI 設為其最大值。
  2. 如果可用,請停用 Decimation 和 Dual ROI 功能。
  3. 停用 Binning。
  4. 將 Reverse X and Reverse Y 設定為後續運作時所需的狀態。
  5. 將感測器均勻照明至 70% 飽和度,例如,透過在相機的整個視野中放置一張白紙。
  6. 將 BslFlatFieldCorrectionSelector 參數設為 BlockBased.
  7. 將 BslFlatFieldCorrectionMode 參數設為 On.
  8. 將 BslFlatFieldCorrectionSetIndex 將參數設定為要建立的集合的所需索引編號,例如 2。
  9. 按一下 pylon Viewer 工具列中的 Continuous Shot 按鈕以開始擷取影像。
  10. 執行 BslFlatFieldCorrectionSetCreate 命令以建立新的 flat-field correction set。
    系統會擷取並評估一連串的明視野影像。隨後會產生相應的校正資料,並收集在所選的 flat-field correction set 中。
  11. 透過執行以下命令將設定儲存到相機的快閃記憶體中: BslFlatFieldCorrectionSetSave 命令。
    如果索引編號為 2 等的 flat-field correction set 已經包含校正資料,這些資料將被覆寫並替換為新的校正值。

    建立的 flat-field correction set 會自動啟用。

啟用 Flat-Field Correction Set#

若要啟用 flat-field correction set:

  1. 將 BslFlatFieldCorrectionMode 參數設為 On.
  2. 將 BslFlatFieldCorrectionSetIndex 參數設為要使用的設定集索引編號,例如索引編號 2。
  3. 執行 BslFlatFieldCorrectionSetLoad 命令。

資訊

在影像擷取過程中可以變更 flat-field correction set。不過,在此過程中可能會產生微小的影像偽影。

行式 Flat-Field Correction#

資訊

此功能由 pylon Viewer 的 Column-Based Flat-Field Correction 功能相輔相成。

使用 pylon Viewer 計算校正值#

→ 請參閱 pylon Viewer 的 Column-Based Flat-Field Correction 功能。

使用 pylon API 計算校正值#

涉及以下數學參數:

  • DMean: 暗視野影像中所有像素的平均灰階值
  • GMean:亮場影像中所有像素的平均灰階值
  • DSNU_Coeff(x):暗信號不均勻性 (DSNU) 係數
  • PRNU_Coeff(x):光響應不均勻性 (PRNU) 係數
  • UserGD_Offset:使用者定義的全域暗位移

其中 x 為欄索引。

資訊

為了獲得最佳結果,請在實際的應用環境中擷取暗場與亮場影像。請注意,僅能校正靜態效應。如果您變更了鏡頭或照明等設定,則必須重複此程序。

若要計算校正值:

  1. 避免感光元件受光(例如在鏡頭上蓋上塑膠蓋),並擷取一系列暗場影像。
  2. 將所有擷取影像中所有像素的灰階值加總,並將總和除以像素總數。結果即為暗場影像中所有像素的平均灰階值 (DMean)。
  3. 計算每一欄 x 的平均灰階值 (D(x))。
  4. 均勻照射感光元件至 70 % 飽和度(例如在相機的整個視野中放置一張白紙),並擷取一系列亮場影像。
  5. 將所有擷取影像中所有像素的灰階值加總,並將總和除以像素總數。結果即為亮場影像中所有像素的平均灰階值 (GMean)。
  6. 計算每一欄 x 的平均灰階值 (G(x))。
  7. 如有必要,請根據您的需求決定全域暗位移值 (UserGD_Offset)。
  8. 對於每一欄 x,請按下式計算係數 DSNU_Coeff(x) 與 PRNU_Coeff(x):

    DSNU 與 PRNU 校正公式

  9. 使用計算出的值,透過 pylon API 設定對應的相機參數。

    • 欄索引 (x): BslFlatFieldCorrectionCoeffX
    • DMean: BslFlatFieldCorrectionDMean
    • DSNU_Coeff(x): BslFlatFieldCorrectionCoeffDSNU
    • PRNU_Coeff(x): BslFlatFieldCorrectionCoeffPRNU
    • UserGD_Offset: BslFlatFieldCorrectionUserGD
  10. 設定完所有欄位的所有校正值後,您可以透過擷取一系列影像來測試 Flat-Field Correction。

  11. 如果您對影像 Quality 感到滿意,請透過執行下列指令將設定儲存至相機的快閃記憶體中: BslFlatFieldCorrectionSaveToFlash 命令。

選擇 Flat-Field Correction 類型#

影像 BslFlatFieldCorrectionSelector 允許您選擇要使用的 Flat-Field Correction 類型。您可以將參數設定為下列值:

啟用或停用 Flat-Field Correction#

若要啟用或停用 Flat-Field Correction,請將 BslFlatFieldCorrectionMode 參數設為下列其中一個值:

  • On設為:相機會根據所選的 Flat-Field Correction 類型執行 Flat-Field Correction。
  • DSNUOnly:相機僅執行 DSNU 校正。

    資訊

    此 Property 值僅在選擇基時基於列的 Flat-Field Correction 時可用。

  • Off (預設):相機 不會 執行所選的 Flat-Field Correction 類型。

詳細資料#

顯示所有相機型號

相機型號 可用的 Flat-Field Correction 類型
a2A640-240gmSWIR 不支援 Flat-Field Correction 功能
a2A640-240umSWIR 不支援 Flat-Field Correction 功能
a2A1280-80gmSWIR 不支援 Flat-Field Correction 功能
a2A1280-125umSWIR 不支援 Flat-Field Correction 功能
a2A1920-51gcBAS 不支援 Flat-Field Correction 功能
a2A1920-51gcIP67 不支援 Flat-Field Correction 功能
a2A1920-51gcPRO 執行基於區塊的 Flat-Field Correction
a2A1920-51gmBAS 不支援 Flat-Field Correction 功能
a2A1920-51gmIP67 不支援 Flat-Field Correction 功能
a2A1920-51gmPRO 執行基於區塊的 Flat-Field Correction
a2A1920-160ucBAS 不支援 Flat-Field Correction 功能
a2A1920-160ucPRO 執行基於區塊的 Flat-Field Correction
a2A1920-160umBAS 不支援 Flat-Field Correction 功能
a2A1920-160umPRO 執行基於區塊的 Flat-Field Correction
a2A1920-165g5cBAS 執行基於區塊的 Flat-Field Correction
a2A1920-165g5mBAS 執行基於區塊的 Flat-Field Correction
a2A1920-168mgc 不支援 Flat-Field Correction 功能
a2A1920-168mgm 不支援 Flat-Field Correction 功能
a2A2048-35gmSWIR 不支援 Flat-Field Correction 功能
a2A2048-37gcBAS 不支援 Flat-Field Correction 功能
a2A2048-37gcPRO 執行基於區塊的 Flat-Field Correction
a2A2048-37gmBAS 不支援 Flat-Field Correction 功能
a2A2048-37gmPRO 執行基於區塊的 Flat-Field Correction
a2A2048-110umSWIR 不支援 Flat-Field Correction 功能
a2A2048-114g5cBAS 執行基於區塊的 Flat-Field Correction
a2A2048-114g5mBAS 執行基於區塊的 Flat-Field Correction
a2A2048-114mgc 不支援 Flat-Field Correction 功能
a2A2048-114mgm 不支援 Flat-Field Correction 功能
a2A2048-114ucBAS 不支援 Flat-Field Correction 功能
a2A2048-114ucPRO 執行基於區塊的 Flat-Field Correction
a2A2048-114umBAS 不支援 Flat-Field Correction 功能
a2A2048-114umPRO 執行基於區塊的 Flat-Field Correction
a2A2048-173cmSWIR 不支援 Flat-Field Correction 功能
a2A2440-98g5cBAS 執行基於區塊的 Flat-Field Correction
a2A2440-98g5mBAS 執行基於區塊的 Flat-Field Correction
a2A2448-23gcBAS 不支援 Flat-Field Correction 功能
a2A2448-23gcIP67 不支援 Flat-Field Correction 功能
a2A2448-23gcPRO 執行基於區塊的 Flat-Field Correction
a2A2448-23gmBAS 不支援 Flat-Field Correction 功能
a2A2448-23gmIP67 不支援 Flat-Field Correction 功能
a2A2448-23gmPRO 執行基於區塊的 Flat-Field Correction
a2A2448-75ucBAS 不支援 Flat-Field Correction 功能
a2A2448-75ucPRO 執行基於區塊的 Flat-Field Correction
a2A2448-75umBAS 不支援 Flat-Field Correction 功能
a2A2448-75umPRO 執行基於區塊的 Flat-Field Correction
a2A2448-90mgc 不支援 Flat-Field Correction 功能
a2A2448-90mgm 不支援 Flat-Field Correction 功能
a2A2448-105g5cBAS 執行基於區塊的 Flat-Field Correction
a2A2448-105g5mBAS 執行基於區塊的 Flat-Field Correction
a2A2448-120cc 執行基於區塊的 Flat-Field Correction
a2A2448-120cm 執行基於區塊的 Flat-Field Correction
a2A2448-210cc 執行基於區塊的 Flat-Field Correction
a2A2448-210cm 執行基於區塊的 Flat-Field Correction
a2A2448-232g10c 執行基於區塊的 Flat-Field Correction
a2A2448-232g10m 執行基於區塊的 Flat-Field Correction
a2A2464-23gcBAS 不支援 Flat-Field Correction 功能
a2A2464-23gcPRO 執行基於區塊的 Flat-Field Correction
a2A2464-23gmBAS 不支援 Flat-Field Correction 功能
a2A2464-23gmPRO 執行基於區塊的 Flat-Field Correction
a2A2464-77ucBAS 不支援 Flat-Field Correction 功能
a2A2464-77ucPRO 執行基於區塊的 Flat-Field Correction
a2A2464-77umBAS 不支援 Flat-Field Correction 功能
a2A2464-77umPRO 執行基於區塊的 Flat-Field Correction
a2A2464-115g5cBAS 執行基於區塊的 Flat-Field Correction
a2A2464-115g5mBAS 執行基於區塊的 Flat-Field Correction
a2A2560-20gmSWIR 不支援 Flat-Field Correction 功能
a2A2560-70umSWIR 不支援 Flat-Field Correction 功能
a2A2560-131cmSWIR 不支援 Flat-Field Correction 功能
a2A2590-22gcBAS 不支援 Flat-Field Correction 功能
a2A2590-22gcPRO 執行基於區塊的 Flat-Field Correction
a2A2590-22gmBAS 不支援 Flat-Field Correction 功能
a2A2590-22gmPRO 執行基於區塊的 Flat-Field Correction
a2A2590-60ucBAS 不支援 Flat-Field Correction 功能
a2A2590-60ucPRO 執行基於區塊的 Flat-Field Correction
a2A2590-60umBAS 不支援 Flat-Field Correction 功能
a2A2590-60umPRO 執行基於區塊的 Flat-Field Correction
a2A2600-20gcBAS 不支援 Flat-Field Correction 功能
a2A2600-20gcPRO 執行基於區塊的 Flat-Field Correction
a2A2600-20gmBAS 不支援 Flat-Field Correction 功能
a2A2600-20gmPRO 執行基於區塊的 Flat-Field Correction
a2A2600-64ucBAS 不支援 Flat-Field Correction 功能
a2A2600-64ucPRO 執行基於區塊的 Flat-Field Correction
a2A2600-64umBAS 不支援 Flat-Field Correction 功能
a2A2600-64umPRO 執行基於區塊的 Flat-Field Correction
a2A2840-14gcBAS 不支援 Flat-Field Correction 功能
a2A2840-14gcIP67 不支援 Flat-Field Correction 功能
a2A2840-14gcPRO 執行基於區塊的 Flat-Field Correction
a2A2840-14gmBAS 不支援 Flat-Field Correction 功能
a2A2840-14gmIP67 不支援 Flat-Field Correction 功能
a2A2840-14gmPRO 執行基於區塊的 Flat-Field Correction
a2A2840-14gmUV 執行基於區塊的 Flat-Field Correction
a2A2840-48ucBAS 不支援 Flat-Field Correction 功能
a2A2840-48ucPRO 執行基於區塊的 Flat-Field Correction
a2A2840-48umBAS 不支援 Flat-Field Correction 功能
a2A2840-48umPRO 執行基於區塊的 Flat-Field Correction
a2A2840-48umUV 執行基於區塊的 Flat-Field Correction
a2A2840-57mgc 不支援 Flat-Field Correction 功能
a2A2840-57mgm 不支援 Flat-Field Correction 功能
a2A2840-67g5cBAS 執行基於區塊的 Flat-Field Correction
a2A2840-67g5mBAS 執行基於區塊的 Flat-Field Correction
a2A2840-67g5mUV 執行基於區塊的 Flat-Field Correction
a2A2840-86cc 執行基於區塊的 Flat-Field Correction
a2A2840-86cm 執行基於區塊的 Flat-Field Correction
a2A2840-150g10c 執行基於區塊的 Flat-Field Correction
a2A2840-150g10m 執行基於區塊的 Flat-Field Correction
a2A2840-150g10mUV 執行基於區塊的 Flat-Field Correction
a2A3536-9gcBAS 不支援 Flat-Field Correction 功能
a2A3536-9gcPRO 執行基於區塊的 Flat-Field Correction
a2A3536-9gmBAS 不支援 Flat-Field Correction 功能
a2A3536-9gmPRO 執行基於區塊的 Flat-Field Correction
a2A3536-31ucBAS 不支援 Flat-Field Correction 功能
a2A3536-31ucPRO 執行基於區塊的 Flat-Field Correction
a2A3536-31umBAS 不支援 Flat-Field Correction 功能
a2A3536-31umPRO 執行基於區塊的 Flat-Field Correction
a2A3536-37mgc 不支援 Flat-Field Correction 功能
a2A3536-37mgm 不支援 Flat-Field Correction 功能
a2A3536-42g5cBAS 執行基於區塊的 Flat-Field Correction
a2A3536-42g5mBAS 執行基於區塊的 Flat-Field Correction
a2A3840-13gcBAS 不支援 Flat-Field Correction 功能
a2A3840-13gcPRO 執行基於區塊的 Flat-Field Correction
a2A3840-13gmBAS 不支援 Flat-Field Correction 功能
a2A3840-13gmPRO 執行基於區塊的 Flat-Field Correction
a2A3840-45ucBAS 不支援 Flat-Field Correction 功能
a2A3840-45ucPRO 執行基於區塊的 Flat-Field Correction
a2A3840-45umBAS 不支援 Flat-Field Correction 功能
a2A3840-45umPRO 執行基於區塊的 Flat-Field Correction
a2A4096-9gcBAS 不支援 Flat-Field Correction 功能
a2A4096-9gcIP67 不支援 Flat-Field Correction 功能
a2A4096-9gcPRO 執行基於區塊的 Flat-Field Correction
a2A4096-9gmBAS 不支援 Flat-Field Correction 功能
a2A4096-9gmIP67 不支援 Flat-Field Correction 功能
a2A4096-9gmPRO 執行基於區塊的 Flat-Field Correction
a2A4096-30ucBAS 不支援 Flat-Field Correction 功能
a2A4096-30ucPRO 執行基於區塊的 Flat-Field Correction
a2A4096-30umBAS 不支援 Flat-Field Correction 功能
a2A4096-30umPRO 執行基於區塊的 Flat-Field Correction
a2A4096-38mgc 不支援 Flat-Field Correction 功能
a2A4096-38mgm 不支援 Flat-Field Correction 功能
a2A4096-44g5cBAS 執行基於區塊的 Flat-Field Correction
a2A4096-44g5mBAS 執行基於區塊的 Flat-Field Correction
a2A4096-67cc 執行基於區塊的 Flat-Field Correction
a2A4096-67cm 執行基於區塊的 Flat-Field Correction
a2A4096-98g10c 執行基於區塊的 Flat-Field Correction
a2A4096-98g10m 執行基於區塊的 Flat-Field Correction
a2A4200-12gcBAS 不支援 Flat-Field Correction 功能
a2A4200-12gcPRO 執行基於區塊的 Flat-Field Correction
a2A4200-12gmBAS 不支援 Flat-Field Correction 功能
a2A4200-12gmPRO 執行基於區塊的 Flat-Field Correction
a2A4200-40ucBAS 不支援 Flat-Field Correction 功能
a2A4200-40ucPRO 執行基於區塊的 Flat-Field Correction
a2A4200-40umBAS 不支援 Flat-Field Correction 功能
a2A4200-40umPRO 執行基於區塊的 Flat-Field Correction
a2A4504-5gcBAS 不支援 Flat-Field Correction 功能
a2A4504-5gcIP67 不支援 Flat-Field Correction 功能
a2A4504-5gcPRO 執行基於區塊的 Flat-Field Correction
a2A4504-5gmBAS 不支援 Flat-Field Correction 功能
a2A4504-5gmIP67 不支援 Flat-Field Correction 功能
a2A4504-5gmPRO 執行基於區塊的 Flat-Field Correction
a2A4504-18ucBAS 不支援 Flat-Field Correction 功能
a2A4504-18ucPRO 執行基於區塊的 Flat-Field Correction
a2A4504-18umBAS 不支援 Flat-Field Correction 功能
a2A4504-18umPRO 執行基於區塊的 Flat-Field Correction
a2A4504-23mgc 不支援 Flat-Field Correction 功能
a2A4504-23mgm 不支援 Flat-Field Correction 功能
a2A4504-27g5cBAS 執行基於區塊的 Flat-Field Correction
a2A4504-27g5mBAS 執行基於區塊的 Flat-Field Correction
a2A4504-42cc 執行基於區塊的 Flat-Field Correction
a2A4504-42cm 執行基於區塊的 Flat-Field Correction
a2A4504-59g10c 執行基於區塊的 Flat-Field Correction
a2A4504-59g10m 執行基於區塊的 Flat-Field Correction
a2A4508-6gcBAS 不支援 Flat-Field Correction 功能
a2A4508-6gcPRO 執行基於區塊的 Flat-Field Correction
a2A4508-6gmBAS 不支援 Flat-Field Correction 功能
a2A4508-6gmPRO 執行基於區塊的 Flat-Field Correction
a2A4508-20ucBAS 不支援 Flat-Field Correction 功能
a2A4508-20ucPRO 執行基於區塊的 Flat-Field Correction
a2A4508-20umBAS 不支援 Flat-Field Correction 功能
a2A4508-20umPRO 執行基於區塊的 Flat-Field Correction
a2A5060-4gcBAS 不支援 Flat-Field Correction 功能
a2A5060-4gmBAS 不支援 Flat-Field Correction 功能
a2A5060-15ucBAS 不支援 Flat-Field Correction 功能
a2A5060-15umBAS 不支援 Flat-Field Correction 功能
a2A5060-21g5cBAS 執行基於區塊的 Flat-Field Correction
a2A5060-21g5mBAS 執行基於區塊的 Flat-Field Correction
a2A5060-35cc 執行基於區塊的 Flat-Field Correction
a2A5060-35cm 執行基於區塊的 Flat-Field Correction
a2A5320-7gcBAS 不支援 Flat-Field Correction 功能
a2A5320-7gcIP67 不支援 Flat-Field Correction 功能
a2A5320-7gcPRO 執行基於區塊的 Flat-Field Correction
a2A5320-7gmBAS 不支援 Flat-Field Correction 功能
a2A5320-7gmPRO 執行基於區塊的 Flat-Field Correction
a2A5320-7gmip67 不支援 Flat-Field Correction 功能
a2A5320-23ucBAS 不支援 Flat-Field Correction 功能
a2A5320-23ucPRO 執行基於區塊的 Flat-Field Correction
a2A5320-23umBAS 不支援 Flat-Field Correction 功能
a2A5320-23umPRO 執行基於區塊的 Flat-Field Correction
a2A5320-29mgc 不支援 Flat-Field Correction 功能
a2A5320-29mgm 不支援 Flat-Field Correction 功能
a2A5320-34g5cBAS 執行基於區塊的 Flat-Field Correction
a2A5320-34g5mBAS 執行基於區塊的 Flat-Field Correction
a2A5320-52cc 執行基於區塊的 Flat-Field Correction
a2A5320-52cm 執行基於區塊的 Flat-Field Correction
a2A5320-75g10c 執行基於區塊的 Flat-Field Correction
a2A5320-75g10m 執行基於區塊的 Flat-Field Correction
a2A5328-4gcBAS 不支援 Flat-Field Correction 功能
a2A5328-4gcIP67 不支援 Flat-Field Correction 功能
a2A5328-4gcPRO 執行基於區塊的 Flat-Field Correction
a2A5328-4gmBAS 不支援 Flat-Field Correction 功能
a2A5328-4gmIP67 不支援 Flat-Field Correction 功能
a2A5328-4gmPRO 執行基於區塊的 Flat-Field Correction
a2A5328-15ucBAS 不支援 Flat-Field Correction 功能
a2A5328-15ucPRO 執行基於區塊的 Flat-Field Correction
a2A5328-15umBAS 不支援 Flat-Field Correction 功能
a2A5328-15umPRO 執行基於區塊的 Flat-Field Correction
a2A5328-19mgc 不支援 Flat-Field Correction 功能
a2A5328-19mgm 不支援 Flat-Field Correction 功能
a2A5328-22g5cBAS 執行基於區塊的 Flat-Field Correction
a2A5328-22g5mBAS 執行基於區塊的 Flat-Field Correction
a2A5328-35cc 執行基於區塊的 Flat-Field Correction
a2A5328-35cm 執行基於區塊的 Flat-Field Correction
a2A5328-49g10c 執行基於區塊的 Flat-Field Correction
a2A5328-49g10m 執行基於區塊的 Flat-Field Correction
acA640-121gm 不支援 Flat-Field Correction 功能
acA640-300gc 不支援 Flat-Field Correction 功能
acA640-300gm 不支援 Flat-Field Correction 功能
acA640-750uc 不支援 Flat-Field Correction 功能
acA640-750um 不支援 Flat-Field Correction 功能
acA720-290gc 不支援 Flat-Field Correction 功能
acA720-290gm 不支援 Flat-Field Correction 功能
acA720-520uc 不支援 Flat-Field Correction 功能
acA720-520um 不支援 Flat-Field Correction 功能
acA800-200gc 不支援 Flat-Field Correction 功能
acA800-200gm 不支援 Flat-Field Correction 功能
acA800-510uc 不支援 Flat-Field Correction 功能
acA800-510um 不支援 Flat-Field Correction 功能
acA1280-60gc 不支援 Flat-Field Correction 功能
acA1280-60gm 不支援 Flat-Field Correction 功能
acA1300-60gc 不支援 Flat-Field Correction 功能
acA1300-60gm 不支援 Flat-Field Correction 功能
acA1300-60gmNIR 不支援 Flat-Field Correction 功能
acA1300-75gc 不支援 Flat-Field Correction 功能
acA1300-75gm 不支援 Flat-Field Correction 功能
acA1300-200uc 不支援 Flat-Field Correction 功能
acA1300-200um 不支援 Flat-Field Correction 功能
acA1440-73gc 不支援 Flat-Field Correction 功能
acA1440-73gm 不支援 Flat-Field Correction 功能
acA1440-220uc 不支援 Flat-Field Correction 功能
acA1440-220um 不支援 Flat-Field Correction 功能
acA1600-60gc 不支援 Flat-Field Correction 功能
acA1600-60gm 不支援 Flat-Field Correction 功能
acA1920-25gc 不支援 Flat-Field Correction 功能
acA1920-25gm 不支援 Flat-Field Correction 功能
acA1920-25uc 不支援 Flat-Field Correction 功能
acA1920-25um 不支援 Flat-Field Correction 功能
acA1920-40gc 不支援 Flat-Field Correction 功能
acA1920-40gm 不支援 Flat-Field Correction 功能
acA1920-40uc 不支援 Flat-Field Correction 功能
acA1920-40ucMED 不支援 Flat-Field Correction 功能
acA1920-40um 不支援 Flat-Field Correction 功能
acA1920-40umMED 不支援 Flat-Field Correction 功能
acA1920-48gc 不支援 Flat-Field Correction 功能
acA1920-48gm 不支援 Flat-Field Correction 功能
acA1920-50gc 不支援 Flat-Field Correction 功能
acA1920-50gm 不支援 Flat-Field Correction 功能
acA1920-150uc 不支援 Flat-Field Correction 功能
acA1920-150um 不支援 Flat-Field Correction 功能
acA1920-155uc 不支援 Flat-Field Correction 功能
acA1920-155ucMED 不支援 Flat-Field Correction 功能
acA1920-155um 不支援 Flat-Field Correction 功能
acA1920-155umMED 不支援 Flat-Field Correction 功能
acA2000-50gc 不支援 Flat-Field Correction 功能
acA2000-50gm 不支援 Flat-Field Correction 功能
acA2000-165uc 不支援 Flat-Field Correction 功能
acA2000-165um 不支援 Flat-Field Correction 功能
acA2040-25gc 不支援 Flat-Field Correction 功能
acA2040-25gm 不支援 Flat-Field Correction 功能
acA2040-25gmNIR 不支援 Flat-Field Correction 功能
acA2040-35gc 不支援 Flat-Field Correction 功能
acA2040-35gm 不支援 Flat-Field Correction 功能
acA2040-55uc 不支援 Flat-Field Correction 功能
acA2040-55um 不支援 Flat-Field Correction 功能
acA2040-90uc 不支援 Flat-Field Correction 功能
acA2040-90um 不支援 Flat-Field Correction 功能
acA2040-90umNIR 不支援 Flat-Field Correction 功能
acA2040-120uc 不支援 Flat-Field Correction 功能
acA2040-120um 不支援 Flat-Field Correction 功能
acA2440-20gc 不支援 Flat-Field Correction 功能
acA2440-20gm 不支援 Flat-Field Correction 功能
acA2440-35uc 不支援 Flat-Field Correction 功能
acA2440-35ucMED 不支援 Flat-Field Correction 功能
acA2440-35um 不支援 Flat-Field Correction 功能
acA2440-35umMED 不支援 Flat-Field Correction 功能
acA2440-75uc 不支援 Flat-Field Correction 功能
acA2440-75ucMED 不支援 Flat-Field Correction 功能
acA2440-75um 不支援 Flat-Field Correction 功能
acA2440-75umMED 不支援 Flat-Field Correction 功能
acA2500-14gc 不支援 Flat-Field Correction 功能
acA2500-14gm 不支援 Flat-Field Correction 功能
acA2500-14uc 不支援 Flat-Field Correction 功能
acA2500-14um 不支援 Flat-Field Correction 功能
acA2500-20gc 不支援 Flat-Field Correction 功能
acA2500-20gcMED 不支援 Flat-Field Correction 功能
acA2500-20gm 不支援 Flat-Field Correction 功能
acA2500-20gmMED 不支援 Flat-Field Correction 功能
acA2500-60uc 不支援 Flat-Field Correction 功能
acA2500-60um 不支援 Flat-Field Correction 功能
acA3088-16gc 不支援 Flat-Field Correction 功能
acA3088-16gm 不支援 Flat-Field Correction 功能
acA3088-57uc 不支援 Flat-Field Correction 功能
acA3088-57ucMED 不支援 Flat-Field Correction 功能
acA3088-57um 不支援 Flat-Field Correction 功能
acA3088-57umMED 不支援 Flat-Field Correction 功能
acA3800-10gc 不支援 Flat-Field Correction 功能
acA3800-10gm 不支援 Flat-Field Correction 功能
acA3800-14uc 不支援 Flat-Field Correction 功能
acA3800-14um 不支援 Flat-Field Correction 功能
acA4024-8gc 不支援 Flat-Field Correction 功能
acA4024-8gm 不支援 Flat-Field Correction 功能
acA4024-29uc 不支援 Flat-Field Correction 功能
acA4024-29um 不支援 Flat-Field Correction 功能
acA4096-11gc 不支援 Flat-Field Correction 功能
acA4096-11gm 不支援 Flat-Field Correction 功能
acA4096-30uc 不支援 Flat-Field Correction 功能
acA4096-30ucMED 不支援 Flat-Field Correction 功能
acA4096-30um 不支援 Flat-Field Correction 功能
acA4096-30umMED 不支援 Flat-Field Correction 功能
acA4096-40uc 不支援 Flat-Field Correction 功能
acA4096-40ucMED 不支援 Flat-Field Correction 功能
acA4096-40um 不支援 Flat-Field Correction 功能
acA4096-40umMED 不支援 Flat-Field Correction 功能
acA4112-8gc 不支援 Flat-Field Correction 功能
acA4112-8gm 不支援 Flat-Field Correction 功能
acA4112-20uc 不支援 Flat-Field Correction 功能
acA4112-20ucMED 不支援 Flat-Field Correction 功能
acA4112-20um 不支援 Flat-Field Correction 功能
acA4112-20umMED 不支援 Flat-Field Correction 功能
acA4112-30uc 不支援 Flat-Field Correction 功能
acA4112-30ucMED 不支援 Flat-Field Correction 功能
acA4112-30um 不支援 Flat-Field Correction 功能
acA4112-30umMED 不支援 Flat-Field Correction 功能
acA5472-5gc 不支援 Flat-Field Correction 功能
acA5472-5gm 不支援 Flat-Field Correction 功能
acA5472-17uc 不支援 Flat-Field Correction 功能
acA5472-17ucMED 不支援 Flat-Field Correction 功能
acA5472-17um 不支援 Flat-Field Correction 功能
acA5472-17umMED 不支援 Flat-Field Correction 功能
boA1936-400cc 不支援 Flat-Field Correction 功能
boA1936-400cm 不支援 Flat-Field Correction 功能
boA2448-250cc 不支援 Flat-Field Correction 功能
boA2448-250cm 不支援 Flat-Field Correction 功能
boA2832-190cc 不支援 Flat-Field Correction 功能
boA2832-190cm 不支援 Flat-Field Correction 功能
boA4096-93cc 不支援 Flat-Field Correction 功能
boA4096-93cm 不支援 Flat-Field Correction 功能
boA4096-180cc 不支援 Flat-Field Correction 功能
boA4096-180cm 不支援 Flat-Field Correction 功能
boA4112-68cc 不支援 Flat-Field Correction 功能
boA4112-68cm 不支援 Flat-Field Correction 功能
boA4500-45cc 不支援 Flat-Field Correction 功能
boA4500-45cm 不支援 Flat-Field Correction 功能
boA4504-100cc 不支援 Flat-Field Correction 功能
boA4504-100cm 不支援 Flat-Field Correction 功能
boA5056-95cm 不支援 Flat-Field Correction 功能
boA5120-150cc 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA5120-150cm 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA5120-230cc 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA5120-230cm 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA5320-150cc 不支援 Flat-Field Correction 功能
boA5320-150cm 不支援 Flat-Field Correction 功能
boA5328-100cc 不支援 Flat-Field Correction 功能
boA5328-100cm 不支援 Flat-Field Correction 功能
boA6500-36cc 不支援 Flat-Field Correction 功能
boA6500-36cm 不支援 Flat-Field Correction 功能
boA8100-16cc 不支援 Flat-Field Correction 功能
boA8100-16cm 不支援 Flat-Field Correction 功能
boA9344-30cc 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA9344-30cm 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA9344-70cc 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA9344-70cm 基於區塊的 Flat-Field Correction
基於列的 Flat-Field Correction
boA13440-17cm 不支援 Flat-Field Correction 功能
daA720-520uc 不支援 Flat-Field Correction 功能
daA720-520um 不支援 Flat-Field Correction 功能
daA1280-54uc 不支援 Flat-Field Correction 功能
daA1280-54um 不支援 Flat-Field Correction 功能
daA1440-220uc 不支援 Flat-Field Correction 功能
daA1440-220um 不支援 Flat-Field Correction 功能
daA1600-60uc 不支援 Flat-Field Correction 功能
daA1600-60um 不支援 Flat-Field Correction 功能
daA1920-15um 不支援 Flat-Field Correction 功能
daA1920-30uc 不支援 Flat-Field Correction 功能
daA1920-30um 不支援 Flat-Field Correction 功能
daA1920-160uc 不支援 Flat-Field Correction 功能
daA1920-160um 不支援 Flat-Field Correction 功能
daA2448-70uc 不支援 Flat-Field Correction 功能
daA2448-70um 不支援 Flat-Field Correction 功能
daA2500-14uc 不支援 Flat-Field Correction 功能
daA2500-14um 不支援 Flat-Field Correction 功能
daA3840-45uc 不支援 Flat-Field Correction 功能
daA3840-45um 不支援 Flat-Field Correction 功能
dmA720-290gc 不支援 Flat-Field Correction 功能
dmA720-290gm 不支援 Flat-Field Correction 功能
dmA1440-73gc 不支援 Flat-Field Correction 功能
dmA1440-73gm 不支援 Flat-Field Correction 功能
dmA1920-51gc 不支援 Flat-Field Correction 功能
dmA1920-51gm 不支援 Flat-Field Correction 功能
dmA2048-37gc 不支援 Flat-Field Correction 功能
dmA2048-37gm 不支援 Flat-Field Correction 功能
dmA2448-23gc 不支援 Flat-Field Correction 功能
dmA2448-23gm 不支援 Flat-Field Correction 功能
dmA2840-14gc 不支援 Flat-Field Correction 功能
dmA2840-14gm 不支援 Flat-Field Correction 功能
dmA3536-9gc 不支援 Flat-Field Correction 功能
dmA3536-9gm 不支援 Flat-Field Correction 功能
dmA4096-9gc 不支援 Flat-Field Correction 功能
dmA4096-9gm 不支援 Flat-Field Correction 功能
puA1280-54uc 不支援 Flat-Field Correction 功能
puA1280-54um 不支援 Flat-Field Correction 功能
puA1600-60uc 不支援 Flat-Field Correction 功能
puA1600-60um 不支援 Flat-Field Correction 功能
puA1920-30uc 不支援 Flat-Field Correction 功能
puA1920-30um 不支援 Flat-Field Correction 功能
puA2500-14uc 不支援 Flat-Field Correction 功能
puA2500-14um 不支援 Flat-Field Correction 功能
r2L2048-29gc 不支援 Flat-Field Correction 功能
r2L2048-58gm 不支援 Flat-Field Correction 功能
r2L2048-62cc 不支援 Flat-Field Correction 功能
r2L2048-62g5c 不支援 Flat-Field Correction 功能
r2L2048-172cm 不支援 Flat-Field Correction 功能
r2L2048-172g5m 不支援 Flat-Field Correction 功能
r2L4096-14gc 不支援 Flat-Field Correction 功能
r2L4096-29gm 不支援 Flat-Field Correction 功能
r2L4096-42cc 不支援 Flat-Field Correction 功能
r2L4096-42g5c 不支援 Flat-Field Correction 功能
r2L4096-84cm 不支援 Flat-Field Correction 功能
r2L4096-84g5m 不支援 Flat-Field Correction 功能
r2L8192-80cc 不支援 Flat-Field Correction 功能
r2L8192-240cm 不支援 Flat-Field Correction 功能
r2L16384-60cc 不支援 Flat-Field Correction 功能
r2L16384-120cm 不支援 Flat-Field Correction 功能
r2T16416-500cm 不支援 Flat-Field Correction 功能

範例程式碼#

區塊式 Flat-Field Correction#
// NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
// Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.SetValue(BslFlatFieldCorrectionMode_On);
// Set the desired index number of the set to be enabled
camera.BslFlatFieldCorrectionSetIndex.SetValue(BslFlatFieldCorrectionSetIndex_1);

// NOTE: Valid for boost V cameras
// Set the type of flat-field correction to Block-Based
camera.BslFlatFieldCorrectionSelector.SetValue(BslFlatFieldCorrectionSelector_BlockBased);
// Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.SetValue(BslFlatFieldCorrectionMode_On);
// Set the desired index number of the set to be created
camera.BslFlatFieldCorrectionSetIndex.SetValue(BslFlatFieldCorrectionSetIndex_1);
// Create new flat-field correction data for the flat-field correction set selected
camera.BslFlatFieldCorrectionSetCreate.Execute();
// Save the correction data to the camera's flash memory
camera.BslFlatFieldCorrectionSetSave.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
// Set the flat-field correction mode to On
CEnumParameter(nodemap, "BslFlatFieldCorrectionMode").SetValue("On");
// Set the desired index number of the set to be enabled
CEnumParameter(nodemap, "BslFlatFieldCorrectionSetIndex").SetValue("");

// NOTE: Valid for boost V cameras
// Set the type of flat-field correction to Block-Based
CEnumParameter(nodemap, "BslFlatFieldCorrectionSelector").SetValue("BlockBased");
// Set the flat-field correction mode to On
CEnumParameter(nodemap, "BslFlatFieldCorrectionMode").SetValue("On");
// Set the desired index number of the set to be created
CEnumParameter(nodemap, "BslFlatFieldCorrectionSetIndex").SetValue("");
// Create new flat-field correction data for the flat-field correction set selected
CCommandParameter(nodemap, "BslFlatFieldCorrectionSetCreate").Execute();
// Save the correction data to the camera's flash memory
CCommandParameter(nodemap, "BslFlatFieldCorrectionSetSave").Execute();
// NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
// Set the flat-field correction mode to On
camera.Parameters[PLCamera.BslFlatFieldCorrectionMode].SetValue(PLCamera.BslFlatFieldCorrectionMode.On);
// Set the desired index number of the set to be enabled
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetIndex].SetValue(PLCamera.BslFlatFieldCorrectionSetIndex.);

// NOTE: Valid for boost V cameras
// Set the type of flat-field correction to Block-Based
camera.Parameters[PLCamera.BslFlatFieldCorrectionSelector].SetValue(PLCamera.BslFlatFieldCorrectionSelector.BlockBased);
// Set the flat-field correction mode to On
camera.Parameters[PLCamera.BslFlatFieldCorrectionMode].SetValue(PLCamera.BslFlatFieldCorrectionMode.On);
// Set the desired index number of the set to be created
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetIndex].SetValue(PLCamera.BslFlatFieldCorrectionSetIndex.);
// Create new flat-field correction data for the flat-field correction set selected
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetCreate].Execute();
// Save the correction data to the camera's flash memory
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetSave].Execute();
/* 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 */
/* NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section */
/* Set the flat-field correction mode to On */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionMode", "On");
CHECK(errRes);
/* Set the desired index number of the set to be enabled */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionSetIndex", "");
CHECK(errRes);

/* NOTE: Valid for boost V cameras */
/* Set the type of flat-field correction to Block-Based */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionSelector", "BlockBased");
CHECK(errRes);
/* Set the flat-field correction mode to On */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionMode", "On");
CHECK(errRes);
/* Set the desired index number of the set to be created */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionSetIndex", "");
CHECK(errRes);
/* Create new flat-field correction data for the flat-field correction set selected */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslFlatFieldCorrectionSetCreate");
CHECK(errRes);
/* Save the correction data to the camera's flash memory */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslFlatFieldCorrectionSetSave");
CHECK(errRes);
# NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
# Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.Value = "On"
# Set the desired index number of the set to be enabled
camera.BslFlatFieldCorrectionSetIndex.Value = ""

# NOTE: Valid for boost V cameras
# Set the type of flat-field correction to Block-Based
camera.BslFlatFieldCorrectionSelector.Value = "BlockBased"
# Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.Value = "On"
# Set the desired index number of the set to be created
camera.BslFlatFieldCorrectionSetIndex.Value = ""
# Create new flat-field correction data for the flat-field correction set selected
camera.BslFlatFieldCorrectionSetCreate.Execute()
# Save the correction data to the camera's flash memory
camera.BslFlatFieldCorrectionSetSave.Execute()
行式 Flat-Field Correction#
// Example: Set all correction values for all columns
// Dark signal non-uniformity (DSNU) coefficient
// CalculatedDSNU[0..width-1]
// Photo response non-uniformity (PRNU) coefficient
// CalculatedPRNU[0..width-1]
for (x=0; ++x; x<width)
{
    camera.BslFlatFieldCorrectionCoeffX.SetValue(x);
    camera.BslFlatFieldCorrectionCoeffDSNU.SetValue(CalculatedDSNU[x]);
    camera.BslFlatFieldCorrectionCoeffPRNU.SetValue(CalculatedPRNU[x]);
}

// Set the global dark offset value
camera.BslFlatFieldCorrectionUserGD.SetValue(40);

// Save the settings to the camera's flash memory
camera.BslFlatFieldCorrectionSaveToFlash.Execute();

// Set the type of flat-field correction to Column-Based
camera.BslFlatFieldCorrectionSelector.SetValue(BslFlatFieldCorrectionSelector_ColumnBased);

// Set the flat-field correction mode
camera.BslFlatFieldCorrectionMode.SetValue(BslFlatFieldCorrectionMode_On);

此範例程式碼僅提供 C++ 語言版本。

您也可以使用 pylon Viewer 來輕鬆設定參數。