表格线识别通用库文档
载入中...
搜索中...
未找到
vlines.h
浏览该文件的文档.
1
/*
2
* @Description: 竖线列表类 头文件及其实现
3
* @Version:
4
* @Autor: justliulong
5
* @date: 2023-12-05
6
* @LastEditors: dreamy-xay
7
* @LastEditTime: 2024-03-06
8
*/
9
#ifndef COMMON_VLINES_H
10
#define COMMON_VLINES_H
11
12
#include "
common/debug/debug.hpp
"
13
#include "
common/enum.h
"
14
#include "
common/list/lines.hpp
"
15
#include "
common/feature/hlines.h
"
16
#include "
common/macro.h
"
17
#include "
common/type.h
"
18
19
namespace
cm
{
20
21
/* 横线列表类前向声明 */
22
class
HLines;
23
24
/* 竖线列表类 */
25
class
VLines
:
public
Lines
{
26
public
:
27
using
Lines::Lines
;
28
30
VLines
() =
default
;
32
VLines
(
const
VLines
&
vlines
) =
default
;
33
VLines
(
const
std::initializer_list<Line>&
vlines
);
35
~VLines
() =
default
;
36
37
int
FindNearLine
(
int
postion
,
RelativePosition
rp
=
NEAR
);
38
int
FindNearLine
(
const
Line
&
line
,
RelativePosition
rp
=
NEAR
);
39
VLines
&
ExtendLines
(
const
HLines
&
hlines
,
Position
extend_direction
,
size_t
start_vline_index
= 5,
double
threshold
= 0.7,
size_t
max_num_misaligned_lines
= 3,
bool
strict_inspect
=
true
);
40
VLines
&
OptimizeIntersections
(
const
HLines
&
hlines
,
size_t
threshold
= 0);
41
VLines
&
RmFreeVLines
(
const
HLines
&
hlines
,
int
threshold
= 2);
42
};
43
44
}
// namespace cm
45
46
#endif
cm::HLines
横线列表类
Definition
hlines.h:33
cm::Line
线类
Definition
line.hpp:31
cm::Lines
线列表类
Definition
lines.hpp:34
cm::Lines::Lines
Lines()=default
线列表类的默认构造函数
cm::Point
点类
Definition
point.hpp:52
cm::VLines
Definition
vlines.h:25
cm::VLines::OptimizeIntersections
VLines & OptimizeIntersections(const HLines &hlines, size_t threshold=0)
交点优化
Definition
vlines.cpp:255
cm::VLines::ExtendLines
VLines & ExtendLines(const HLines &hlines, Position extend_direction, size_t start_vline_index=5, double threshold=0.7, size_t max_num_misaligned_lines=3, bool strict_inspect=true)
延长特殊竖线
Definition
vlines.cpp:146
cm::VLines::FindNearLine
int FindNearLine(int postion, RelativePosition rp=NEAR)
定位满足条件的线
Definition
vlines.cpp:52
cm::VLines::~VLines
~VLines()=default
竖线列表类的析构函数
cm::VLines::VLines
VLines(const VLines &vlines)=default
竖线列表类的带参构造函数
cm::VLines::RmFreeVLines
VLines & RmFreeVLines(const HLines &hlines, int threshold=2)
删除游离竖线
Definition
vlines.cpp:346
cm::VLines::VLines
VLines()=default
竖线列表类的默认构造函数
debug.hpp
enum.h
hlines.h
lines.hpp
macro.h
cm
Definition
disjoint_set.hpp:22
cm::RelativePosition
RelativePosition
相对位置枚举
Definition
enum.h:100
cm::NEAR
@ NEAR
最接近参考值的值(最靠近参考位置,不区分前后)
Definition
enum.h:106
cm::Position
Position
位置枚举
Definition
enum.h:84
type.h
common
include
common
feature
vlines.h
制作者
1.10.0