combine_roads_xldcombine_roads_xldCombineRoadsXldCombineRoadsXldcombine_roads_xld合并道路扩展线描述(算子)
名称
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 结合来自两个不同分辨率级别的道路假设。该算法仅选择在两个分辨率级别中相互支持的假设。参数 EdgePolygonsEdgePolygonsEdgePolygonsEdgePolygonsedgePolygonsedge_polygons、ModParallelsModParallelsModParallelsModParallelsmodParallelsmod_parallels 和 ExtParallelsExtParallelsExtParallelsExtParallelsextParallelsext_parallels 对应最高分辨率级别的道路假设。参数 CenterLinesCenterLinesCenterLinesCenterLinescenterLinescenter_lines 是较低分辨率级别中道路提取的结果。仅当多边形 EdgePolygonsEdgePolygonsEdgePolygonsEdgePolygonsedgePolygonsedge_polygons
在两个分辨率级别中均被识别为道路边界时才会被返回。参数 MaxAngleParallelMaxAngleParallelMaxAngleParallelMaxAngleParallelmaxAngleParallelmax_angle_parallel 和 MaxAngleColinearMaxAngleColinearMaxAngleColinearMaxAngleColinearmaxAngleColinearmax_angle_colinear 分别限定两条平行共线线段可形成的最大夹角。参数 MaxDistanceParallelMaxDistanceParallelMaxDistanceParallelMaxDistanceParallelmaxDistanceParallelmax_distance_parallel 和 MaxDistanceColinearMaxDistanceColinearMaxDistanceColinearMaxDistanceColinearmaxDistanceColinearmax_distance_colinear 分别限定两条平行线段或共线线段的最大允许距离。组合过程遵循多项规则进行。
执行信息
- 多线程类型:互斥(可与其他非互斥算子并行运行,但不能与自身并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
EdgePolygonsEdgePolygonsEdgePolygonsEdgePolygonsedgePolygonsedge_polygons (输入对象) xld_poly-array → objectHXLDPolyHObjectHXLDPolyHobject
待检查的 XLD 多边形。
CenterLinesCenterLinesCenterLinesCenterLinescenterLinescenter_lines (输入对象) xld_poly-array → objectHXLDPolyHObjectHXLDPolyHobject
待检查的道路中心线多边形。
RoadSidesRoadSidesRoadSidesRoadSidesroadSidesroad_sides (输出对象) xld_poly-array → objectHXLDPolyHObjectHXLDPolyHobject *
找到的道路边界。
MaxAngleParallelMaxAngleParallelMaxAngleParallelMaxAngleParallelmaxAngleParallelmax_angle_parallel (输入控制) angle.rad → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
两条平行线段之间的最大夹角。
默认值:
0.523598775598
建议值:
0.349065850399, 0.523598775598, 0.6981317008
限制:
0 <= MaxAngleParallel <= pi / 2
MaxAngleColinearMaxAngleColinearMaxAngleColinearMaxAngleColinearmaxAngleColinearmax_angle_colinear (输入控制) angle.rad → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
两条共线线段之间的最大夹角。
默认值:
0.261799387799
建议值:
0.174532925199, 0.261799387799, 0.349065850399
限制:
0 <= MaxAngleColinear <= pi / 2
MaxDistanceParallelMaxDistanceParallelMaxDistanceParallelMaxDistanceParallelmaxDistanceParallelmax_distance_parallel (输入控制) real → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
两条平行线段之间的最大距离。
默认值:
40
建议值:
20, 30, 40, 50, 60
限制:
MaxDistanceParallel > 0
MaxDistanceColinearMaxDistanceColinearMaxDistanceColinearMaxDistanceColinearmaxDistanceColinearmax_distance_colinear (输入控制) real → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
两条共线线段之间的最大距离。
默认值:
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.
模块
基础