Manages photometric stereo reconstruction. More...
Public Member Functions | |
| None | __init__ (self) |
| Creates an eVision.Easy3D.EPhotometricStereoImager object. | |
| None | __init__ (self, eVision.Easy3D.EPhotometricStereoImager other) |
| Creates an eVision.Easy3D.EPhotometricStereoImager object. | |
| None | Load (self, str path) |
| Loads the eVision.Easy3D.EPhotometricStereoImager. | |
| None | Load (self, eVision.ESerializer|None serializer) |
| Loads the eVision.Easy3D.EPhotometricStereoImager. | |
| None | Save (self, str path) |
| Saves the eVision.Easy3D.EPhotometricStereoImager. | |
| None | Save (self, eVision.ESerializer|None serializer) |
| Saves the eVision.Easy3D.EPhotometricStereoImager. | |
| float | CalibrateFromSphere (self, list[eVision._eVision.EROIBW8|None] sphereImages) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, list[eVision._eVision.EROIBW8|None] sphereImages, eVision.EROIBW8 darkImage) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, list[eVision._eVision.EROIBW8|None] sphereImages, eVision.ECircle circle) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, list[eVision._eVision.EROIBW8|None] sphereImages, eVision.EROIBW8 darkImage, eVision.ECircle circle) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4, eVision.EROIBW8 darkImage) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4, eVision.ECircle circle) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| float | CalibrateFromSphere (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4, eVision.EROIBW8 darkImage, eVision.ECircle circle) |
| Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration. | |
| bool | IsCalibrated (self) |
| Returns whether the eVision.Easy3D.EPhotometricStereoImager is calibrated or not. | |
| None | GetCalibrationAngles (self, list[float] azimuths, list[float] elevations) |
| Gets the calibration angles. | |
| None | SetCalibrationAngles (self, list[float] azimuths, list[float] elevations) |
| Sets the calibration angles. | |
| None | ConfigureNonUniformLightingCorrection (self, list[eVision._eVision.EROIBW8|None] flatImages) |
| Configure the non uniform lighting correction of the scene by using flat images. | |
| None | ConfigureNonUniformLightingCorrection (self, list[eVision._eVision.EROIBW8|None] flatImages, eVision.EROIBW8 darkImage) |
| Configure the non uniform lighting correction of the scene by using flat images. | |
| None | Compute (self, list[eVision._eVision.EROIBW8|None] objectImages) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, list[eVision._eVision.EROIBW8|None] objectImages, eVision.ERegion region) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, list[eVision._eVision.EROIBW8|None] objectImages, eVision.EROIBW8 darkImage) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, list[eVision._eVision.EROIBW8|None] objectImages, eVision.EROIBW8 darkImage, eVision.ERegion region) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4, eVision.ERegion region) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4, eVision.EROIBW8 darkImage) |
| Compute the different photometric stereo images of an object. | |
| None | Compute (self, eVision.EROIBW8 image1, eVision.EROIBW8 image2, eVision.EROIBW8 image3, eVision.EROIBW8 image4, eVision.EROIBW8 darkImage, eVision.ERegion region) |
| Compute the different photometric stereo images of an object. | |
| eVision.EImageBW8 | GetAlbedos (self, eVision.Easy3D.EPhotometricStereoContrast contrast) |
| Gets the albedos as an eVision.EImageBW8. | |
| eVision.EImageBW8 | GetAlbedos (self, eVision.Easy3D.EPhotometricStereoContrast contrast, float maxValue) |
| Gets the albedos as an eVision.EImageBW8. | |
| eVision.EImageBW8 | ComputeGaussianCurvatures (self, eVision.Easy3D.EPhotometricStereoContrast contrast) |
| Computes the gaussian curvatures as an eVision.EImageBW8. | |
| eVision.EImageBW8 | ComputeGaussianCurvatures (self, eVision.Easy3D.EPhotometricStereoContrast contrast, float maxAbsoluteValue) |
| Computes the gaussian curvatures as an eVision.EImageBW8. | |
| eVision.EImageBW8 | ComputeMeanCurvatures (self, eVision.Easy3D.EPhotometricStereoContrast contrast) |
| Computes the mean curvatures as an eVision.EImageBW8. | |
| eVision.EImageBW8 | ComputeMeanCurvatures (self, eVision.Easy3D.EPhotometricStereoContrast contrast, float maxAbsoluteValue) |
| Computes the mean curvatures as an eVision.EImageBW8. | |
| eVision.Easy3D.EZMap8 | ComputeHeightMap (self) |
| Computes the height at each pixel as an eVision.Easy3D.EZMap8 by integrating the surface gradients. | |
| list[float] | CalibrationAzimuthAngles (self) |
| Gets the calibration azimuth angles. | |
| list[float] | CalibrationElevationAngles (self) |
| Gets the calibration elevation angles. | |
| bool | EnableNonUniformLightingCorrection (self) |
| Gets/Sets whether the correction of the non uniformity of the lighting is corrected or not (disabled by default, enabled by calling eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection). | |
| EnableNonUniformLightingCorrection (self, bool value) | |
| Gets/Sets whether the correction of the non uniformity of the lighting is corrected or not (disabled by default, enabled by calling eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection). | |
| float | GaussianBlurSigma (self) |
| Gets/Sets the sigma parameter of the gaussian blurring applied before computing the curvatures. | |
| GaussianBlurSigma (self, float value) | |
| Gets/Sets the sigma parameter of the gaussian blurring applied before computing the curvatures. | |
| eVision.EImageC24 | Normals (self) |
| Gets the normals as an eVision.EImageC24. | |
| eVision.EImageBW8 | GradientsX (self) |
| Gets the gradients on the X axis as an eVision.EImageBW8. | |
| eVision.EImageBW8 | GradientsY (self) |
| Gets the gradients on the Y axis as an eVision.EImageBW8. | |
Manages photometric stereo reconstruction.
This class can build normals, albedos, gradients, mean curvatures and gaussian curvatures images from at least 3 input images by using photometric stereo The algorithm used assumes objects are Lambertian and light sources emit parallel rays
Remarks:
License(s): Easy3D
| None eVision.Easy3D.EPhotometricStereoImager.__init__ | ( | self | ) |
Creates an eVision.Easy3D.EPhotometricStereoImager object.
| None eVision.Easy3D.EPhotometricStereoImager.__init__ | ( | self, | |
| eVision.Easy3D.EPhotometricStereoImager | other ) |
Creates an eVision.Easy3D.EPhotometricStereoImager object.
| other | Another eVision.Easy3D.EPhotometricStereoImager. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4 ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| image1 | The first eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of a sphere in a 4-image configuration. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4, | ||
| eVision.ECircle | circle ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| image1 | The first eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of a sphere in a 4-image configuration. |
| circle | An eVision.ECircle that represents the position of the sphere. Default: automatically computed. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4, | ||
| eVision.EROIBW8 | darkImage ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| image1 | The first eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of a sphere in a 4-image configuration. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the calibration especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4, | ||
| eVision.EROIBW8 | darkImage, | ||
| eVision.ECircle | circle ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| image1 | The first eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of a sphere in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of a sphere in a 4-image configuration. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the calibration especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| circle | An eVision.ECircle that represents the position of the sphere. Default: automatically computed. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | sphereImages ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| sphereImages | A vector of eVision.EROIBW8 of a sphere. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | sphereImages, | ||
| eVision.ECircle | circle ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| sphereImages | A vector of eVision.EROIBW8 of a sphere. |
| circle | An eVision.ECircle that represents the position of the sphere. Default: automatically computed. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | sphereImages, | ||
| eVision.EROIBW8 | darkImage ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| sphereImages | A vector of eVision.EROIBW8 of a sphere. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the calibration especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| float eVision.Easy3D.EPhotometricStereoImager.CalibrateFromSphere | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | sphereImages, | ||
| eVision.EROIBW8 | darkImage, | ||
| eVision.ECircle | circle ) |
Calibrates the light directions on several images (at least 3) of a sphere (or half sphere) and returns a score indicating the reliability of the calibration.
| sphereImages | A vector of eVision.EROIBW8 of a sphere. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the calibration especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| circle | An eVision.ECircle that represents the position of the sphere. Default: automatically computed. |
| list[float] eVision.Easy3D.EPhotometricStereoImager.CalibrationAzimuthAngles | ( | self | ) |
Gets the calibration azimuth angles.
Remarks:
When facing the image, the axis x points right, y points top and z points towards the camera. Azimuth angles are oriented trigonometrically around the z axis. A light source on the right of the image would have an azimuth of 0 degrees. One on top would have an azimuth of 90 degrees.
| list[float] eVision.Easy3D.EPhotometricStereoImager.CalibrationElevationAngles | ( | self | ) |
Gets the calibration elevation angles.
Remarks:
When facing the image, the axis x points right, y points top and z points towards the camera. Elevation is the angle formed by the base plane and the light source. A light source on the horizon would have an elevation of 0 degrees. One on the camera would have an elevation of 90 degrees.
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4 ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| image1 | The first eVision.EROIBW8 of the object in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of the object in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of the object in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of the object in a 4-image configuration. |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4, | ||
| eVision.ERegion | region ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| image1 | The first eVision.EROIBW8 of the object in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of the object in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of the object in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of the object in a 4-image configuration. |
| region | eVision.ERegion within which the computation will be done. |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4, | ||
| eVision.EROIBW8 | darkImage ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| image1 | The first eVision.EROIBW8 of the object in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of the object in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of the object in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of the object in a 4-image configuration. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the results especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| eVision.EROIBW8 | image1, | ||
| eVision.EROIBW8 | image2, | ||
| eVision.EROIBW8 | image3, | ||
| eVision.EROIBW8 | image4, | ||
| eVision.EROIBW8 | darkImage, | ||
| eVision.ERegion | region ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| image1 | The first eVision.EROIBW8 of the object in a 4-image configuration. |
| image2 | The second eVision.EROIBW8 of the object in a 4-image configuration. |
| image3 | The third eVision.EROIBW8 of the object in a 4-image configuration. |
| image4 | The fourth eVision.EROIBW8 of the object in a 4-image configuration. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the results especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| region | eVision.ERegion within which the computation will be done. |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | objectImages ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| objectImages | A vector of eVision.EROIBW8 of the object to reconstruct. The images must be in the same order as the calibration images/angles with respect to the light direction. If flat images are used, flat and object images must have the same size |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | objectImages, | ||
| eVision.ERegion | region ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| objectImages | A vector of eVision.EROIBW8 of the object to reconstruct. The images must be in the same order as the calibration images/angles with respect to the light direction. If flat images are used, flat and object images must have the same size |
| region | eVision.ERegion within which the computation will be done. |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | objectImages, | ||
| eVision.EROIBW8 | darkImage ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| objectImages | A vector of eVision.EROIBW8 of the object to reconstruct. The images must be in the same order as the calibration images/angles with respect to the light direction. If flat images are used, flat and object images must have the same size |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the results especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| None eVision.Easy3D.EPhotometricStereoImager.Compute | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | objectImages, | ||
| eVision.EROIBW8 | darkImage, | ||
| eVision.ERegion | region ) |
Compute the different photometric stereo images of an object.
To retrieve them, see eVision.Easy3D.EPhotometricStereoImager.Normals, eVision.Easy3D.EPhotometricStereoImager.GetAlbedos, eVision.Easy3D.EPhotometricStereoImager.GradientsX, eVision.Easy3D.EPhotometricStereoImager.GradientsY, eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures and eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures.
| objectImages | A vector of eVision.EROIBW8 of the object to reconstruct. The images must be in the same order as the calibration images/angles with respect to the light direction. If flat images are used, flat and object images must have the same size |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the results especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| region | eVision.ERegion within which the computation will be done. |
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures | ( | self, | |
| eVision.Easy3D.EPhotometricStereoContrast | contrast ) |
Computes the gaussian curvatures as an eVision.EImageBW8.
Gaussian curvatures are inherently floating point images so a conversion must be specified. In all cases, a floating point value of 0 translates to an eVision.EBW8 value of 128. See eVision.Easy3D.EPhotometricStereoContrast for the different conversions.
Remarks:
Both gaussian and mean curvatures are computed in this method and are cached to avoid unnecessary computations.
| contrast | an eVision.Easy3D.EPhotometricStereoContrast |
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.ComputeGaussianCurvatures | ( | self, | |
| eVision.Easy3D.EPhotometricStereoContrast | contrast, | ||
| float | maxAbsoluteValue ) |
Computes the gaussian curvatures as an eVision.EImageBW8.
Gaussian curvatures are inherently floating point images so a conversion must be specified. In all cases, a floating point value of 0 translates to an eVision.EBW8 value of 128. See eVision.Easy3D.EPhotometricStereoContrast for the different conversions.
Remarks:
Both gaussian and mean curvatures are computed in this method and are cached to avoid unnecessary computations.
| contrast | an eVision.Easy3D.EPhotometricStereoContrast |
| maxAbsoluteValue | when contrast is EPhotometricStereoContrast_FixedRange, this parameter can be used to specify the maximal floating point value for the gaussian curvatures, otherwise it is ignored. All values outside of [-maxAbsoluteValue, +maxAbsoluteValue] are clipped. maxAbsoluteValue must be positive and defaults to 2. |
| eVision.Easy3D.EZMap8 eVision.Easy3D.EPhotometricStereoImager.ComputeHeightMap | ( | self | ) |
Computes the height at each pixel as an eVision.Easy3D.EZMap8 by integrating the surface gradients.
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures | ( | self, | |
| eVision.Easy3D.EPhotometricStereoContrast | contrast ) |
Computes the mean curvatures as an eVision.EImageBW8.
Mean curvatures are inherently floating point images so a conversion must be specified. In all cases, a floating point value of 0 translates to an eVision.EBW8 value of 128. See eVision.Easy3D.EPhotometricStereoContrast for the different conversions.
Remarks:
Both mean and gaussian curvatures are computed in this method and are cached to avoid unnecessary computations.
| contrast | an eVision.Easy3D.EPhotometricStereoContrast |
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.ComputeMeanCurvatures | ( | self, | |
| eVision.Easy3D.EPhotometricStereoContrast | contrast, | ||
| float | maxAbsoluteValue ) |
Computes the mean curvatures as an eVision.EImageBW8.
Mean curvatures are inherently floating point images so a conversion must be specified. In all cases, a floating point value of 0 translates to an eVision.EBW8 value of 128. See eVision.Easy3D.EPhotometricStereoContrast for the different conversions.
Remarks:
Both mean and gaussian curvatures are computed in this method and are cached to avoid unnecessary computations.
| contrast | an eVision.Easy3D.EPhotometricStereoContrast |
| maxAbsoluteValue | when contrast is EPhotometricStereoContrast_FixedRange, this parameter can be used to specify the maximal floating point value for the mean curvatures, otherwise it is ignored. All values outside of [-maxAbsoluteValue, +maxAbsoluteValue] are clipped. maxAbsoluteValue must be positive and defaults to 3. |
| None eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | flatImages ) |
Configure the non uniform lighting correction of the scene by using flat images.
Photometric stereo assumes the lights of each image to be of same direction and intensity. This is however rarely the case in practice, a way to attenuate the problem is to use flat images to correct non-uniform lighting before performing photometric stereo.
| flatImages | A vector of eVision.EROIBW8 of the flat images. The images must be in the same order as the calibration images/angles with respect to the light direction. |
| None eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection | ( | self, | |
| list[eVision._eVision.EROIBW8 | None] | flatImages, | ||
| eVision.EROIBW8 | darkImage ) |
Configure the non uniform lighting correction of the scene by using flat images.
Photometric stereo assumes the lights of each image to be of same direction and intensity. This is however rarely the case in practice, a way to attenuate the problem is to use flat images to correct non-uniform lighting before performing photometric stereo.
| flatImages | A vector of eVision.EROIBW8 of the flat images. The images must be in the same order as the calibration images/angles with respect to the light direction. |
| darkImage | An image of the object when there is no specific illumination. This argument can help to improve the results especially if the image is not dark when there is no illumination. Otherwise, it is not useful. |
| bool eVision.Easy3D.EPhotometricStereoImager.EnableNonUniformLightingCorrection | ( | self | ) |
Gets/Sets whether the correction of the non uniformity of the lighting is corrected or not (disabled by default, enabled by calling eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection).
Disabling it increases speed.
Remarks:
It must be configured (eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection) before being enabled.
| eVision.Easy3D.EPhotometricStereoImager.EnableNonUniformLightingCorrection | ( | self, | |
| bool | value ) |
Gets/Sets whether the correction of the non uniformity of the lighting is corrected or not (disabled by default, enabled by calling eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection).
Disabling it increases speed.
Remarks:
It must be configured (eVision.Easy3D.EPhotometricStereoImager.ConfigureNonUniformLightingCorrection) before being enabled.
| float eVision.Easy3D.EPhotometricStereoImager.GaussianBlurSigma | ( | self | ) |
Gets/Sets the sigma parameter of the gaussian blurring applied before computing the curvatures.
Default value is 1. Sigma must be > 0.
Remarks:
The bigger the sigma, the longer processing will take.
| eVision.Easy3D.EPhotometricStereoImager.GaussianBlurSigma | ( | self, | |
| float | value ) |
Gets/Sets the sigma parameter of the gaussian blurring applied before computing the curvatures.
Default value is 1. Sigma must be > 0.
Remarks:
The bigger the sigma, the longer processing will take.
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.GetAlbedos | ( | self, | |
| eVision.Easy3D.EPhotometricStereoContrast | contrast ) |
Gets the albedos as an eVision.EImageBW8.
Albedos are inherently floating point images so a conversion must be specified. In all cases, a floating point value of 0 translates to an eVision.EBW8 value of 0.
Remarks:
Albedos are computed in eVision.Easy3D.EPhotometricStereoImager.Compute.
| contrast | an eVision.Easy3D.EPhotometricStereoContrast |
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.GetAlbedos | ( | self, | |
| eVision.Easy3D.EPhotometricStereoContrast | contrast, | ||
| float | maxValue ) |
Gets the albedos as an eVision.EImageBW8.
Albedos are inherently floating point images so a conversion must be specified. In all cases, a floating point value of 0 translates to an eVision.EBW8 value of 0.
Remarks:
Albedos are computed in eVision.Easy3D.EPhotometricStereoImager.Compute.
| contrast | an eVision.Easy3D.EPhotometricStereoContrast |
| maxValue | when contrast is EPhotometricStereoContrast_FixedRange, this parameter can be used to specify the maximal floating point value for the albedos, otherwise it is ignored. All values bigger than the parameter are clipped. maxValue must be positive and defaults to 200. |
| None eVision.Easy3D.EPhotometricStereoImager.GetCalibrationAngles | ( | self, | |
| list[float] | azimuths, | ||
| list[float] | elevations ) |
Gets the calibration angles.
Remarks:
When facing the image, the axis x points right, y points top and z points towards the camera. Azimuth angles are oriented trigonometrically around the z axis. A light source on the right of the image would have an azimuth of 0 degrees. One on top would have an azimuth of 90 degrees. Elevation is the angle formed by the base plane and the light source. A light source on the horizon would have an elevation of 0 degrees. One on the camera would have an elevation of 90 degrees.

| azimuths | The vector of azimuth angles to retrieve |
| elevations | The vector of elevation angles to retrieve |
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.GradientsX | ( | self | ) |
Gets the gradients on the X axis as an eVision.EImageBW8.
Remarks:
Gradients on the X axis are computed in eVision.Easy3D.EPhotometricStereoImager.Compute.
| eVision.EImageBW8 eVision.Easy3D.EPhotometricStereoImager.GradientsY | ( | self | ) |
Gets the gradients on the Y axis as an eVision.EImageBW8.
Remarks:
Gradients on the Y axis are computed in eVision.Easy3D.EPhotometricStereoImager.Compute.
| bool eVision.Easy3D.EPhotometricStereoImager.IsCalibrated | ( | self | ) |
Returns whether the eVision.Easy3D.EPhotometricStereoImager is calibrated or not.
| None eVision.Easy3D.EPhotometricStereoImager.Load | ( | self, | |
| eVision.ESerializer | None | serializer ) |
Loads the eVision.Easy3D.EPhotometricStereoImager.
The given eVision.ESerializer must have been created for reading.
Remarks:
Neither photometric stereo results nor intermediary computations are serialized. Thus, results of a call to eVision.Easy3D.EPhotometricStereoImager.Compute performed before serialization cannot be retrieved after serialization. On the other hand, the results of the calibration and the NonUniformLightingCorrection are serialized and can be used again.
| serializer | The serializer. |
| None eVision.Easy3D.EPhotometricStereoImager.Load | ( | self, | |
| str | path ) |
Loads the eVision.Easy3D.EPhotometricStereoImager.
The given eVision.ESerializer must have been created for reading.
Remarks:
Neither photometric stereo results nor intermediary computations are serialized. Thus, results of a call to eVision.Easy3D.EPhotometricStereoImager.Compute performed before serialization cannot be retrieved after serialization. On the other hand, the results of the calibration and the NonUniformLightingCorrection are serialized and can be used again.
| path | The file path. |
| eVision.EImageC24 eVision.Easy3D.EPhotometricStereoImager.Normals | ( | self | ) |
Gets the normals as an eVision.EImageC24.
Remarks:
Normals are computed in eVision.Easy3D.EPhotometricStereoImager.Compute.
| None eVision.Easy3D.EPhotometricStereoImager.Save | ( | self, | |
| eVision.ESerializer | None | serializer ) |
Saves the eVision.Easy3D.EPhotometricStereoImager.
The given eVision.ESerializer must have been created for writing.
Remarks:
Neither photometric stereo results nor intermediary computations are serialized. Thus, results of a call to eVision.Easy3D.EPhotometricStereoImager.Compute performed before serialization cannot be retrieved after serialization. On the other hand, the results of the calibration and the NonUniformLightingCorrection are serialized and can be used again.
| serializer | The eVision.ESerializer object that is written to. |
| None eVision.Easy3D.EPhotometricStereoImager.Save | ( | self, | |
| str | path ) |
Saves the eVision.Easy3D.EPhotometricStereoImager.
The given eVision.ESerializer must have been created for writing.
Remarks:
Neither photometric stereo results nor intermediary computations are serialized. Thus, results of a call to eVision.Easy3D.EPhotometricStereoImager.Compute performed before serialization cannot be retrieved after serialization. On the other hand, the results of the calibration and the NonUniformLightingCorrection are serialized and can be used again.
| path | The file path. |
| None eVision.Easy3D.EPhotometricStereoImager.SetCalibrationAngles | ( | self, | |
| list[float] | azimuths, | ||
| list[float] | elevations ) |
Sets the calibration angles.
Remarks:
When facing the image, the axis x points right, y points top and z points towards the camera. Azimuth angles are oriented trigonometrically around the z axis. A light source on the right of the image would have an azimuth of 0 degrees. One on top would have an azimuth of 90 degrees. Elevation is the angle formed by the base plane and the light source. A light source on the horizon would have an elevation of 0 degrees. One on the camera would have an elevation of 90 degrees.

| azimuths | The vector of azimuth angles to set |
| elevations | The vector of elevation angles to set |