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

Flat-Field Correction#

Flat-Field Correction (FFC)相機功能可協助您消除因感光元件像素的光敏度差異,以及照明與照明光學元件所導致的影像不均勻現象。

使用功能#

影像中的不均勻現象在數位成像中十分常見。這些現象是由感測器像素的亮度輸出變化,以及光源和照明光學元件的影響所造成的。平場校正透過修正原始像素值,將這些不均勻現象降至最低,從而提升影像品質並改善後續分析結果。

在進行平場校正之前,必須先對相機進行校準。這涉及計算適當的校正資料。藉此,可在影像擷取過程中對原始像素進行校正,從而獲得更優質的影像。

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

類型Flat-Field Correction#

視相機型號而定,Basler 相機支援基於區塊和基於列的平場校正。

基於區塊的平場校正(FFC)可修正因光電響應不均勻性(PRNU)以及源自照明與照明光學系統的低頻波動所造成的影像瑕疵。基於區塊的 FFC 會將感測器「劃分為」由特定數量的像素組成的正方形區塊。在校準過程中,系統會針對每個正方形區塊計算校正數據,隨後將其進行插值處理,並套用至感測器的每個像素上。

基於列的平場校正可修正由暗訊號不均勻性(DSNU)及光電響應不均勻性(PRNU)所造成的影像瑕疵。對於感測器的每一列,必須在校準過程中分別計算 DSNU 與 PRNU 的校正值。在影像擷取過程中,這些按列計算的校正值會套用至原始像素值上。

下圖展示了基於區塊與基於欄位的平場校正的各種原理。

類型Flat-Field Correction

建立校正值 (CV)#

基於區塊的平場校正:拍攝一系列亮場(平場)影像,以偵測光電響應不均勻性(PRNU)以及由照明或光學元件等因素所造成的低頻雜訊。校正值(CV)由相機計算得出,並儲存至相機的快閃記憶體中。

基於方塊的《Flat-Field Correction 》第一步

基於列的平場校正:先拍攝一系列暗場影像(A),以偵測暗訊號不均勻性(DSNU)(暗電流雜訊);接著拍攝一系列亮場(平場)影像(B),以偵測光電響應不均勻性(PRNU)。隨後,使用者必須計算校正值(CV),並將其儲存至相機的快閃記憶體中。

基於欄位的Flat-Field Correction 步驟 1

申請Flat-Field Correction#

只要啟用了平場校正功能,即可去除影像中的雜訊。原始像素值(OV)經過校正後,便會產生品質更佳的影像(校正後值,RV)。

基於區塊或欄位的Flat-Field Correction 第 2 步

ace 2 雙鏡頭#

視您的 ace 2 相機型號而定,可使用基於區塊的平場校正功能。

資訊

Flat-Field Correction此功能還搭配了 pylon Viewer。

基於區塊的 Flat-Field Correction#

建立「Flat-Field Correction 」套組#

Flat-Field Correction此步驟包含校正相機,並將計算出的校正值儲存至稱為「平場校正集」的檔案中。要執行此操作,請使用 pylon Viewer。

您可以建立最多 4 組校正設定。

啟用「Flat-Field Correction 」集#

若要啟用平場校正,請設定:

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

    所選的平場校正集將自動啟用。

資訊

在影像擷取過程中,可以變更平場校正組。

boost V 相機#

Baslerboost V 攝影機支援基於區塊的平場校正及基於列的平場校正。這兩種校正原理可結合使用,亦可分別使用。

基於區塊的 Flat-Field Correction#

建立「Flat-Field Correction 」套組#

此步驟涉及校準相機,並將計算出的校正值儲存至一個稱為「平場校正集」的檔案中。您可以建立最多 16 組校正集。

在開始建立平場校正集之前,您需要準備以下項目:

  • 一個背景均勻的目標,例如一張白紙

資訊

為獲得最佳效果,請如同進行常規操作時那樣,調整光學系統、幀率、曝光時間、增益及相機溫度。Basler 建議在實際應用環境中擷取明場影像。

要建立平場校正集:

  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 」工具列中的「連續拍攝」按鈕,即可開始進行影像擷取。
  10. 執行 BslFlatFieldCorrectionSetCreate 用於建立新的平場校正集的指令。
    系統會擷取並評估一組明亮的影像。隨後生成的校正資料,會被彙整至所選定的平場校正資料集之中。
  11. 執行以下指令,將設定儲存至相機的快閃記憶體中: BslFlatFieldCorrectionSetSave 指令。
    如果設定為(例如)索引編號 2 的平場校正已包含校正資料,則這些資料將會被覆寫,並替換為新的校正值。

    所建立的平場校正集會自動啟用。

啟用「Flat-Field Correction 」集#

若要啟用平場校正,請設定:

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

資訊

在影像擷取過程中,可以更換平場校正組。不過,在此過程中可能會產生輕微的影像偽影。

基於欄的 Flat-Field Correction#

資訊

Flat-Field Correction此功能由 pylon Viewer的「基於欄位的xml-ph-0000@deepl.internal」功能。

使用pylon Viewer#

Flat-Field Correction→請參閱 pylon Viewer。

使用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. 在為所有欄位設定完所有校正值後,您可以透過拍攝一系列影像來測試平場校正。

  11. 如果您對影像品質感到滿意,請執行以下操作,將設定儲存至相機的快閃記憶體中: BslFlatFieldCorrectionSaveToFlash 指令。

選擇Flat-Field Correction 類型#

當 BslFlatFieldCorrectionSelector 可讓您選擇要使用的平場校正類型。您可以將此參數設定為以下值:

啟用或停用Flat-Field Correction#

若要啟用或停用平場校正,請設定 BslFlatFieldCorrectionMode 參數設定為以下值之一:

  • On: 相機會根據以下條件進行平場校正: 平場校正類型 被選中。
  • DSNUOnly: 相機的表現 DSNU 僅作更正。

    資訊

    此參數值僅在選擇「基於欄位的平場校正」時才可用。

  • Off (預設):相機會 不 執行所選的平場校正類型。

詳細資料#

顯示所有相機型號

相機型號 可選型號: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 此功能不支援
a2A2464-23gcBAS Flat-Field Correction 此功能不支援
a2A2464-23gcPRO 基於區塊的平場校正
a2A2464-23gmBAS Flat-Field Correction 此功能不支援
a2A2464-23gmPRO 基於區塊的平場校正
a2A2464-77ucBAS Flat-Field Correction 此功能不支援
a2A2464-77ucPRO 基於區塊的平場校正
a2A2464-77umBAS Flat-Field Correction 此功能不支援
a2A2464-77umPRO 基於區塊的平場校正
a2A2464-115g5cBAS 基於區塊的平場校正
a2A2464-115g5mBAS 基於區塊的平場校正
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 此功能不支援
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 此功能不支援
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 此功能不支援
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 此功能不支援
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 此功能不支援
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 基於區塊的平場校正
基於列的平場校正
boA5120-150cm 基於區塊的平場校正
基於列的平場校正
boA5120-230cc 基於區塊的平場校正
基於列的平場校正
boA5120-230cm 基於區塊的平場校正
基於列的平場校正
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 基於區塊的平場校正
基於列的平場校正
boA9344-30cm 基於區塊的平場校正
基於列的平場校正
boA9344-70cc 基於區塊的平場校正
基於列的平場校正
boA9344-70cm 基於區塊的平場校正
基於列的平場校正
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++ 語言版本。

您也可以 use the pylon Viewer 來輕鬆設定參數。