sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrsfs_mod_lr (Operator)

Name

sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrsfs_mod_lr — Reconstruct a surface from a gray value image.

Signature

sfs_mod_lr(Image : Height : Slant, Tilt, Albedo, Ambient : )

Herror sfs_mod_lr(const Hobject Image, Hobject* Height, double Slant, double Tilt, double Albedo, double Ambient)

Herror T_sfs_mod_lr(const Hobject Image, Hobject* Height, const Htuple Slant, const Htuple Tilt, const Htuple Albedo, const Htuple Ambient)

void SfsModLr(const HObject& Image, HObject* Height, const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient)

HImage HImage::SfsModLr(const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient) const

HImage HImage::SfsModLr(double Slant, double Tilt, double Albedo, double Ambient) const

static void HOperatorSet.SfsModLr(HObject image, out HObject height, HTuple slant, HTuple tilt, HTuple albedo, HTuple ambient)

HImage HImage.SfsModLr(HTuple slant, HTuple tilt, HTuple albedo, HTuple ambient)

HImage HImage.SfsModLr(double slant, double tilt, double albedo, double ambient)

def sfs_mod_lr(image: HObject, slant: Union[float, int], tilt: Union[float, int], albedo: Union[float, int], ambient: Union[float, int]) -> HObject

Description

sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr reconstructs a surface (i.e. the relative height of each image point) using the modified algorithm of Lee and Rosenfeld. The surface is reconstructed from the input image ImageImageImageImageimageimage, and the light source given by the parameters SlantSlantSlantSlantslantslant, TiltTiltTiltTilttilttilt, AlbedoAlbedoAlbedoAlbedoalbedoalbedo and AmbientAmbientAmbientAmbientambientambient, and is assumed to lie infinitely far away in the direction given by SlantSlantSlantSlantslantslant and TiltTiltTiltTilttilttilt. The parameter AlbedoAlbedoAlbedoAlbedoalbedoalbedo determines the albedo of the surface, i.e. the percentage of light reflected in all directions. AmbientAmbientAmbientAmbientambientambient determines the amount of ambient light falling onto the surface. It can be set to values greater than zero if, for example, the white balance of the camera was badly adjusted at the moment the image was taken.

Attention

sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr assumes that the heights are to be extracted on a lattice with step width 1. If this is not the case, the calculated heights must be multiplied with the step width after the call to sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr. A Cartesian coordinate system with the origin in the lower left corner of the image is used internally. sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr can only handle byte-images.

Execution Information

Parameters

ImageImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte)

Shaded input image.

HeightHeightHeightHeightheightheight (output_object)  image(-array) objectHImageHObjectHImageHobject * (real)

Reconstructed height field.

SlantSlantSlantSlantslantslant (input_control)  angle.deg HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Angle between the light source and the positive z-axis (in degrees).

Default value: 45.0

Suggested values: 1.0, 5.0, 10.0, 20.0, 40.0, 60.0, 90.0

Typical range of values: 0.0 ≤ Slant Slant Slant Slant slant slant ≤ 180.0 (lin)

Minimum increment: 0.01

Recommended increment: 10.0

TiltTiltTiltTilttilttilt (input_control)  angle.deg HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Angle between the light source and the x-axis after projection into the xy-plane (in degrees).

Default value: 45.0

Suggested values: 1.0, 5.0, 10.0, 20.0, 40.0, 60.0, 90.0

Typical range of values: 0.0 ≤ Tilt Tilt Tilt Tilt tilt tilt ≤ 360.0 (lin)

Minimum increment: 0.01

Recommended increment: 10.0

AlbedoAlbedoAlbedoAlbedoalbedoalbedo (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Amount of light reflected by the surface.

Default value: 1.0

Suggested values: 0.1, 0.5, 1.0, 5.0

Typical range of values: 0.0 ≤ Albedo Albedo Albedo Albedo albedo albedo ≤ 5.0 (lin)

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: Albedo >= 0.0

AmbientAmbientAmbientAmbientambientambient (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Amount of ambient light.

Default value: 0.0

Suggested values: 0.1, 0.5, 1.0

Typical range of values: 0.0 ≤ Ambient Ambient Ambient Ambient ambient ambient ≤ 1.0 (lin)

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: Ambient >= 0.0

Result

If all parameters are correct sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr returns the value TRUE. Otherwise, an exception is raised.

Possible Predecessors

estimate_al_amestimate_al_amEstimateAlAmEstimateAlAmEstimateAlAmestimate_al_am, estimate_sl_al_lrestimate_sl_al_lrEstimateSlAlLrEstimateSlAlLrEstimateSlAlLrestimate_sl_al_lr, estimate_sl_al_zcestimate_sl_al_zcEstimateSlAlZcEstimateSlAlZcEstimateSlAlZcestimate_sl_al_zc, estimate_tilt_lrestimate_tilt_lrEstimateTiltLrEstimateTiltLrEstimateTiltLrestimate_tilt_lr, estimate_tilt_zcestimate_tilt_zcEstimateTiltZcEstimateTiltZcEstimateTiltZcestimate_tilt_zc, optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed

Possible Successors

shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightFieldShadeHeightFieldshade_height_field

Module

3D Metrology