跳转到内容

Defect Pixel Correction#

相机的 Defect Pixel Correction 功能可将出现亮度过高或过低单个像素的影响降到最低。

该功能的使用#

运作原理#

在采集的图像中,即使使用均匀的光线,部分像素也会显得比其他像素明显更亮或更暗。该问题是由于各个像素的灵敏度差异而引起的,而这些差异又是由于生产公差引起的。

Defect Pixel Correction 功能可将这些灵敏度差异的影响降至最低。相机会识别强度值明显高于或低于其相邻像素的像素(“离群像素”),并调整其强度值。

Basler 相机可以执行两种类型的像素校正:

  • 静态像素校正会校正强度值明显小于其相邻像素(包括全黑像素)的像素。
  • 动态像素校正会校正强度值明显大于其相邻像素(包括全白像素)的像素。

启用 Defect Pixel Correction#

要配置 Defect Pixel Correction 功能,请将 DefectPixelCorrectionMode 参数设置为以下值:

  • On(默认):相机执行静态和动态像素校正。
  • StaticOnly:相机仅执行静态像素校正。
  • Off:相机执行像素修正。

示例代码#

// Disable defect pixel correction
camera.DefectPixelCorrectionMode.SetValue(DefectPixelCorrectionMode_Off);
INodeMap& nodemap = camera.GetNodeMap();
// Disable defect pixel correction
CEnumerationPtr(nodemap.GetNode("DefectPixelCorrectionMode"))->FromString("Off");
INodeMap& nodemap = camera.GetNodeMap();
// Disable defect pixel correction
CEnumParameter(nodemap, "DefectPixelCorrectionMode").SetValue("Off");
// Disable defect pixel correction
camera.Parameters[PLCamera.DefectPixelCorrectionMode].SetValue(PLCamera.DefectPixelCorrectionMode.Off);
// Disable defect pixel correction
Pylon.DeviceFeatureFromString(hdev, "DefectPixelCorrectionMode", "Off");
/* 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 */
/* Disable defect pixel correction */
errRes = PylonDeviceFeatureFromString(hdev, "DefectPixelCorrectionMode", "Off");
CHECK(errRes);

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