Barrel Correction

I implemented the lens distortion correction using the values found in the database lensfun. http://lensfun.sourceforge.net/
To CanonPowerShotS110 modified resolution 4048x3048 the indices K I have are {0.02413, -0.13243,0.04812};
When compared to the data with the database “Pix4Dmapper \ resources \ cameraDB \ icmdb.xml” values are different

<Camera name = “CanonPowerShotS110_5.2_4048x3048”>
<ImageWidth> 4048 </ ImageWidth>
<ImageHeight> 3048 </ ImageHeight>
<PixelSize> 1.5415 </ pixelSize>
<PrincipalPointXmm> 3:12 </ principalPointXmm>
<PrincipalPointYmm> 2.34925 </ principalPointYmm>
<LensType> perspective </ lensType>
<FocalLengthmm> 4.4 </ focalLengthmm>
<Distortion> 5 </ distortion>
<RadialK1> -0266 </ radialK1>
<RadialK2> 0079 </ radialK2>
<RadialK3> -0013 </ radialK3>
<TangentialT1> 0 </ tangentialT1>
<TangentialT2> 0 </ tangentialT2>
<PixelValue pixelType = “uint16” min = “- 1” max = “- 1” />
<CameraModelSource> internalDB </ cameraModelSource>
<BandConfig>
<Band name = “Red” centralWaveLength = “625” width = “0” weight = “0.0722” />
<Band name = “Green” centralWaveLength = “580” width = “0” weight = “0.2126” />
<Band name = “NIR” centralWaveLength = “880” width = “0” weight = “0.7152” />
</ BandConfig>
<BandConfig>
<Band name = “red edge” centralWaveLength = “715” width = “0” weight = “0.2126” />
<Band name = “Green” centralWaveLength = “480” width = “0” weight = “0.7152” />
<Band name = “Blue” centralWaveLength = “455” width = “0” weight = “0.0722” />
</ BandConfig>
<BandConfig>
<Band name = “Red” centralWaveLength = “660” width = “0” weight = “0.2126” />
<Band name = “Green” centralWaveLength = “550” width = “0” weight = “0.7152” />
<Band name = “Blue” centralWaveLength = “470” width = “0” weight = “0.0722” />
</ BandConfig>
</ Camera>

The Pix4D uses the values of icmdb to base or use any other data from Exif to perform the calculations?

Hi Alaine,

Pix4Dmapper reads the lens distortions from the Pix4Dmapper camera database.

There are several ways to define the distortions, this is why each software may give different values.

In any case, the values of the database are used only as initial values. Pix4Dmapper optimizes these values each time that you run the 1st step of processing (Initial Processing).

Best regards,

Christina Gkintzou