num:=1 * times:=1 *先判断是行是列,用不同的排序方式 height_width_ratio (ConnectedRegions, Height, Width1, Ratio) tuple_mean (Height, Height_Mean) tuple_mean (Width1, Width1_Mean) if (Height_Mean>Width1_Mean) para:='row' else para:='column' endif union1 (ConnectedRegions, RegionUnion11) closing_rectangle1 (RegionUnion11, RegionClosing10, Width, 1) connection (RegionClosing10, ConnectedRegions20) sort_region (ConnectedRegions20, SortedRegions, 'first_point', 'true', 'row') count_obj (ConnectedRegions20, Number15) for Index9 := 1 to Number15 by 1 select_obj (SortedRegions, ObjectSelected7, Index9) intersection (ObjectSelected7, RegionUnion11, RegionIntersection3) connection (RegionIntersection3, ConnectedRegions22) sort_region (ConnectedRegions22, SortedRegions2, 'first_point', 'true', para) count_obj (SortedRegions2, Number16) for Index10 := 1 to Number16 by 1 if (times=num) select_obj (SortedRegions2,ObjectSelected17, Index10) return() endif num:=num+1 endfor endfor return ()