表格线识别通用库文档
载入中...
搜索中...
未找到
cm::Line::CompareByCoordinate结构体 参考

线的比较仿函数 更多...

#include <line.hpp>

Public 成员函数

 CompareByCoordinate (LineType type, int min_distance=10, bool use_pt1=true)
 线的比较仿函数的带参构造函数(通过线的坐标比较)
 
bool operator() (const Line &line1, const Line &line2) const
 线的比较仿函数重载括号运算符
 

详细描述

线的比较仿函数

该仿函数可用于对线进行坐标比较,可以指定线的类型、线的最小间距等参数。

注解
通过调用 cm::Line::CompareByCoordinate(cm::HLINE, 10, true) 可以创建一个按照横线第一个点坐标升序排列的比较仿函数,而调用 cm::Line::CompareByCoordinate(cm::VLINE, 10, false) 则可以创建一个按照竖线第二个点坐标升序排列的比较仿函数。
示例
// 声明横竖线列表,假设它们已经初始化了
// 横线按坐标排序,如果横线之间的垂直距离不超过8,视为同一行横线,此时从左到右排序
// 竖线按坐标排序,如果竖线之间的水平距离不超过12,视为同一列竖线,此时从上到下排序,使用第二个点作为排序参考坐标点
横线列表类
Definition hlines.h:33
点类
Definition point.hpp:52
@ HLINE
横线 (horizontal line)
Definition enum.h:24
@ VLINE
竖线 (vertical line)
Definition enum.h:26
线的比较仿函数
Definition line.hpp:190
作者
dreamy-xay
日期
2024-02-01

在文件 line.hpp190 行定义.

构造及析构函数说明

◆ CompareByCoordinate()

cm::Line::CompareByCoordinate::CompareByCoordinate ( LineType type,
int min_distance = 10,
bool use_pt1 = true )
inlineexplicit

线的比较仿函数的带参构造函数(通过线的坐标比较)

该构造函数用于创建 CompareByCoordinate 对象,根据传入的参数设置比较线的方式。根据线的类型和最小距离,以及是否使用第一个点坐标作为排序依据来初始化比较函数。

参数
type线的类型( 横线竖线
min_distance最小距离(如果两竖线之间的平均水平距离小于最小距离,将被视为x坐标相同的竖线,此时按y坐标大小排序,两横线同理) 默认为 10
use_pt1是否使用第一个点坐标作为排序依据,否则使用第二个点 默认为 true
注意
当传入的线类型不是 cm::HLINEcm::VLINE 时,将会抛出异常。
作者
dreamy-xay
日期
2023-12-05

在文件 line.hpp407 行定义.

成员函数说明

◆ operator()()

bool cm::Line::CompareByCoordinate::operator() ( const Line & line1,
const Line & line2 ) const
inline

线的比较仿函数重载括号运算符

该函数用于比较两条线的位置关系,返回线的比较结果。

参数
line1线1
line2线2
返回
线的比较结果
返回值
trueline1在坐标轴上位于line2左侧或者上方
falseline1在坐标轴上位于line2右侧或者下方,或者与line2重叠
作者
dreamy-xay
日期
2023-12-05

在文件 line.hpp458 行定义.


该结构体的文档由以下文件生成: