Skip to content

find_rectification_gridFindRectificationGridFindRectificationGridfind_rectification_gridfind_rectification_grid🔗

Short description🔗

find_rectification_gridFindRectificationGridFindRectificationGridfind_rectification_gridfind_rectification_grid — Segment the rectification grid region in the image.

Signature🔗

find_rectification_grid( image Image, out region GridRegion, number MinContrast, real Radius )void FindRectificationGrid( const HObject& Image, HObject* GridRegion, const HTuple& MinContrast, const HTuple& Radius )static void HOperatorSet.FindRectificationGrid( HObject image, out HObject gridRegion, HTuple minContrast, HTuple radius )def find_rectification_grid( image: HObject, min_contrast: Union[int, float], radius: Union[float, int] ) -> HObject

Herror find_rectification_grid( const Hobject Image, Hobject* GridRegion, double MinContrast, double Radius )

Herror T_find_rectification_grid( const Hobject Image, Hobject* GridRegion, const Htuple MinContrast, const Htuple Radius )

HRegion HImage::FindRectificationGrid( const HTuple& MinContrast, const HTuple& Radius ) const

HRegion HImage::FindRectificationGrid( double MinContrast, double Radius ) const

HRegion HImage.FindRectificationGrid( HTuple minContrast, HTuple radius )

HRegion HImage.FindRectificationGrid( double minContrast, double radius )

Description🔗

find_rectification_gridFindRectificationGrid searches in the image Imageimageimage for image parts that contain the rectification grid and returns them in the region GridRegiongridRegiongrid_region. To do so, essentially image areas with a contrast of at least MinContrastminContrastmin_contrast are extracted and the holes in these areas are filled up. Then, an opening with the radius Radiusradiusradius is applied to these areas to eliminate smaller areas of high contrast.

During grid-rectification, a careful reduction of the input region to those image parts that actually contain the rectification grid is useful for two purposes: First, the computing time can be reduced and secondly, saddle_points_sub_pixSaddlePointsSubPix and connect_grid_pointsConnectGridPoints can be prevented from detecting false grid points and connecting lines.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

Imageimageimage (input_object) singlechannelimage → object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject (byte / uint2)

Input image.

GridRegiongridRegiongrid_region (output_object) region → objectHObjectHRegionHObjectHobject *

Output region containing the rectification grid.

MinContrastminContrastmin_contrast (input_control) number → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[int, float]Htuple (double / Hlong)

Minimum contrast.

Default: 8.08.0
Suggested values: 2.0, 4.0, 8.0, 16.0, 32.02.0, 4.0, 8.0, 16.0, 32.0
Restriction: MinContrast >= 0

Radiusradiusradius (input_control) real → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Radius of the circular structuring element.

Default: 7.57.5
Suggested values: 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 12.5, 15.5, 19.5, 25.5, 33.5, 45.5, 60.5, 110.51.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 12.5, 15.5, 19.5, 25.5, 33.5, 45.5, 60.5, 110.5
Restriction: Radius >= 0.5

Example🔗

(HDevelop)

find_rectification_grid (Image, GridRegion, 8, 10)
dilation_circle (GridRegion, GridRegionDilated, 5.5)
reduce_domain (Image, GridRegionDilated, ImageReduced)
saddle_points_sub_pix (ImageReduced, 'facet', 1.5, 5, Row, Column)
connect_grid_points (ImageReduced, ConnectingLines, Row, Column, 1.1, 5.5)
gen_grid_rectification_map (ImageReduced, ConnectingLines, Map, Meshes, 20, \
                            'auto', Row, Column, 'bilinear')
map_image (Image, Map, ImageMapped)

Result🔗

find_rectification_gridFindRectificationGrid returns 2 (H_MSG_TRUE) if all parameter values are correct. If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible successors

dilation_circleDilationCircle, reduce_domainReduceDomain

Module🔗

Calibration