combine_roads_xldcombine_roads_xldCombineRoadsXldCombineRoadsXldcombine_roads_xld (Operator)
名称
combine_roads_xldcombine_roads_xldCombineRoadsXldCombineRoadsXldcombine_roads_xld — 合并两个分辨率级别的路径假设。
签名
Herror combine_roads_xld(const Hobject EdgePolygons, const Hobject ModParallels, const Hobject ExtParallels, const Hobject CenterLines, Hobject* RoadSides, double MaxAngleParallel, double MaxAngleColinear, double MaxDistanceParallel, double MaxDistanceColinear)
Herror T_combine_roads_xld(const Hobject EdgePolygons, const Hobject ModParallels, const Hobject ExtParallels, const Hobject CenterLines, Hobject* RoadSides, const Htuple MaxAngleParallel, const Htuple MaxAngleColinear, const Htuple MaxDistanceParallel, const Htuple MaxDistanceColinear)
void CombineRoadsXld(const HObject& EdgePolygons, const HObject& ModParallels, const HObject& ExtParallels, const HObject& CenterLines, HObject* RoadSides, const HTuple& MaxAngleParallel, const HTuple& MaxAngleColinear, const HTuple& MaxDistanceParallel, const HTuple& MaxDistanceColinear)
HXLDPoly HXLDPoly::CombineRoadsXld(const HXLDModPara& ModParallels, const HXLDExtPara& ExtParallels, const HXLDPoly& CenterLines, const HTuple& MaxAngleParallel, const HTuple& MaxAngleColinear, const HTuple& MaxDistanceParallel, const HTuple& MaxDistanceColinear) const
HXLDPoly HXLDPoly::CombineRoadsXld(const HXLDModPara& ModParallels, const HXLDExtPara& ExtParallels, const HXLDPoly& CenterLines, double MaxAngleParallel, double MaxAngleColinear, double MaxDistanceParallel, double MaxDistanceColinear) const
HXLDPoly HXLDModPara::CombineRoadsXld(const HXLDPoly& EdgePolygons, const HXLDExtPara& ExtParallels, const HXLDPoly& CenterLines, const HTuple& MaxAngleParallel, const HTuple& MaxAngleColinear, const HTuple& MaxDistanceParallel, const HTuple& MaxDistanceColinear) const
HXLDPoly HXLDModPara::CombineRoadsXld(const HXLDPoly& EdgePolygons, const HXLDExtPara& ExtParallels, const HXLDPoly& CenterLines, double MaxAngleParallel, double MaxAngleColinear, double MaxDistanceParallel, double MaxDistanceColinear) const
static void HOperatorSet.CombineRoadsXld(HObject edgePolygons, HObject modParallels, HObject extParallels, HObject centerLines, out HObject roadSides, HTuple maxAngleParallel, HTuple maxAngleColinear, HTuple maxDistanceParallel, HTuple maxDistanceColinear)
HXLDPoly HXLDPoly.CombineRoadsXld(HXLDModPara modParallels, HXLDExtPara extParallels, HXLDPoly centerLines, HTuple maxAngleParallel, HTuple maxAngleColinear, HTuple maxDistanceParallel, HTuple maxDistanceColinear)
HXLDPoly HXLDPoly.CombineRoadsXld(HXLDModPara modParallels, HXLDExtPara extParallels, HXLDPoly centerLines, double maxAngleParallel, double maxAngleColinear, double maxDistanceParallel, double maxDistanceColinear)
HXLDPoly HXLDModPara.CombineRoadsXld(HXLDPoly edgePolygons, HXLDExtPara extParallels, HXLDPoly centerLines, HTuple maxAngleParallel, HTuple maxAngleColinear, HTuple maxDistanceParallel, HTuple maxDistanceColinear)
HXLDPoly HXLDModPara.CombineRoadsXld(HXLDPoly edgePolygons, HXLDExtPara extParallels, HXLDPoly centerLines, double maxAngleParallel, double maxAngleColinear, double maxDistanceParallel, double maxDistanceColinear)
def combine_roads_xld(edge_polygons: HObject, mod_parallels: HObject, ext_parallels: HObject, center_lines: HObject, max_angle_parallel: Union[float, int], max_angle_colinear: Union[float, int], max_distance_parallel: Union[float, int], max_distance_colinear: Union[float, int]) -> HObject
描述
combine_roads_xldcombine_roads_xldCombineRoadsXldCombineRoadsXldCombineRoadsXldcombine_roads_xld combines road hypotheses obtained from
two different resolution levels. The algorithm selects only those
hypotheses which mutually support each other in both resolution
levels. The parameters EdgePolygonsEdgePolygonsEdgePolygonsEdgePolygonsedgePolygonsedge_polygons,
ModParallelsModParallelsModParallelsModParallelsmodParallelsmod_parallels and ExtParallelsExtParallelsExtParallelsExtParallelsextParallelsext_parallels correspond to
the road hypotheses from the highest resolution level. The
parameter CenterLinesCenterLinesCenterLinesCenterLinescenterLinescenter_lines is the result of road extraction in
a lower resolution level. Those of the polygons EdgePolygonsEdgePolygonsEdgePolygonsEdgePolygonsedgePolygonsedge_polygons
are returned for which evidence of being roadsides is found in
both resolution levels. The parameters MaxAngleParallelMaxAngleParallelMaxAngleParallelMaxAngleParallelmaxAngleParallelmax_angle_parallel
and MaxAngleColinearMaxAngleColinearMaxAngleColinearMaxAngleColinearmaxAngleColinearmax_angle_colinear determine the angle, that may be formed
by two parallel collinear line segments, respectively. The
parameters MaxDistanceParallelMaxDistanceParallelMaxDistanceParallelMaxDistanceParallelmaxDistanceParallelmax_distance_parallel and
MaxDistanceColinearMaxDistanceColinearMaxDistanceColinearMaxDistanceColinearmaxDistanceColinearmax_distance_colinear determine the maximum allowed
distance of two parallel or collinear line segments, respectively.
The combination is done using a number of rules.
执行信息
- Multithreading type: mutually exclusive (runs in parallel with other non-exclusive operators, but not with itself).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
参数
EdgePolygonsEdgePolygonsEdgePolygonsEdgePolygonsedgePolygonsedge_polygons (input_object) xld_poly-array → objectHXLDPolyHObjectHXLDPolyHobject
XLD polygons to be examined.
CenterLinesCenterLinesCenterLinesCenterLinescenterLinescenter_lines (input_object) xld_poly-array → objectHXLDPolyHObjectHXLDPolyHobject
Road-center-line polygons to be examined.
RoadSidesRoadSidesRoadSidesRoadSidesroadSidesroad_sides (output_object) xld_poly-array → objectHXLDPolyHObjectHXLDPolyHobject *
Roadsides found.
MaxAngleParallelMaxAngleParallelMaxAngleParallelMaxAngleParallelmaxAngleParallelmax_angle_parallel (input_control) angle.rad → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Maximum angle between two parallel line segments.
默认值:
0.523598775598
建议值:
0.349065850399, 0.523598775598, 0.6981317008
限制:
0 <= MaxAngleParallel <= pi / 2
MaxAngleColinearMaxAngleColinearMaxAngleColinearMaxAngleColinearmaxAngleColinearmax_angle_colinear (input_control) angle.rad → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Maximum angle between two collinear line segments.
默认值:
0.261799387799
建议值:
0.174532925199, 0.261799387799, 0.349065850399
限制:
0 <= MaxAngleColinear <= pi / 2
MaxDistanceParallelMaxDistanceParallelMaxDistanceParallelMaxDistanceParallelmaxDistanceParallelmax_distance_parallel (input_control) real → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Maximum distance between two parallel line segments.
默认值:
40
建议值:
20, 30, 40, 50, 60
限制:
MaxDistanceParallel > 0
MaxDistanceColinearMaxDistanceColinearMaxDistanceColinearMaxDistanceColinearmaxDistanceColinearmax_distance_colinear (input_control) real → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Maximum distance between two collinear line segments.
默认值:
40
建议值:
20, 30, 40, 50, 60
限制:
MaxDistanceColinear > 0
可能的前置算子
mod_parallels_xldmod_parallels_xldModParallelsXldModParallelsXldModParallelsXldmod_parallels_xld,
gen_polygons_xldgen_polygons_xldGenPolygonsXldGenPolygonsXldGenPolygonsXldgen_polygons_xld,
affine_trans_contour_xldaffine_trans_contour_xldAffineTransContourXldAffineTransContourXldAffineTransContourXldaffine_trans_contour_xld
可能的后继算子
get_polygon_xldget_polygon_xldGetPolygonXldGetPolygonXldGetPolygonXldget_polygon_xld,
get_lines_xldget_lines_xldGetLinesXldGetLinesXldGetLinesXldget_lines_xld
另见
lines_gausslines_gaussLinesGaussLinesGaussLinesGausslines_gauss,
lines_facetlines_facetLinesFacetLinesFacetLinesFacetlines_facet,
get_channel_infoget_channel_infoGetChannelInfoGetChannelInfoGetChannelInfoget_channel_info,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix
参考文献
C. Steger, C. Glock, W. Eckstein, H. Mayer, B. Radig; “Model-based
Road Extraction from Images”; in “Automatic Extraction of
Man-Made Objects from Aerial and Space Images”; A. Gruen,
O. Kuebler, P. Agouris (Editors); Birkhäuser Verlag (1995),
pp. 275-284.
C. Heipke, C. Steger, R. Multhammer; “A Hierarchical Approach to
Automatic Road Extraction from Aerial Imagery”; in “Integrating
Photogrammetric Techniques with Scene Analysis and Machine Vision
II”; D. M. McKeown, Jr., I. J. Dowman (Editors); Proc. SPIE 2486
(1995), pp. 222-231.
模块
Foundation