|
表格线识别通用库文档
|
投影类 更多...
#include <projection.hpp>
静态 Public 成员函数 | |
| template<typename INDEXED > | |
| static Intervals | ExtractPeak (INDEXED &projection, const Interval &interval, size_t min_proj_value, size_t min_peak_span) |
| 根据投影抽取所有波峰区间 | |
| template<typename INDEXED > | |
| static Intervals | ExtractTrough (INDEXED &projection, const Interval &interval, size_t max_proj_value, size_t min_trough_span) |
| 根据投影抽取所有波谷区间 | |
投影类
该类用于处理图像投影,包括横向和纵向投影,并提供相关操作方法和功能。支持投影数据的存储、操作和提取,以及峰值和谷值的提取等功能。
在文件 projection.hpp 第 66 行定义.
|
inline |
|
inline |
投影类的拷贝构造函数
该拷贝构造函数会创建一个新的投影类对象,并将传入的投影对象的属性值复制给新对象。
| projection | 被拷贝的投影对象 |
在文件 projection.hpp 第 136 行定义.

|
inline |
投影类的移动构造函数
该移动构造函数会接管传入的投影对象的资源,并将其置为空,防止二次释放空间。同时更新当前类的所有信息,包括高度、宽度以及其他内部数据结构的指针。
| projection | 被移动的投影对象 |
在文件 projection.hpp 第 155 行定义.
|
inline |
投影类的带参构造函数
该构造函数会创建一个新的投影类对象,并根据传入的二值图像计算投影信息。
| binary_image | 二值图 |
在文件 projection.hpp 第 179 行定义.

|
inline |
|
inline |
重新赋值一份投影
该方法用于通过 OpenCV 的 Mat 对象,重新为投影对象赋值,实现类似 STL 容器的 assign 功能。
| binary_image | 二值图(单通道图像) |
在文件 projection.hpp 第 424 行定义.

|
inline |
重新赋值一份投影
该方法用于通过 OpenCV 的 Mat 对象,重新为投影对象赋值,实现类似 STL 容器的 assign 功能。
| projection | 另一份投影 |
在文件 projection.hpp 第 387 行定义.


|
inline |
根据投影获取图像的边界
该方法用于根据给定的横向和纵向投影阈值,以及边缘外扩像素值,计算出图像的边界区域。
| hdir_threshold | 横向投影阈值(阈值条件:投影值 >= 横向投影阈值 * 图像宽度,从上至下,从下至上,第一次满足阈值条件则视为图像边界区域) 默认为 0.005 |
| vdir_threshold | 纵向投影阈值(阈值条件:投影值 >= 纵向投影阈值 * 图像高度,从左至右,从右至左,第一次满足阈值条件则视为图像边界区域) 默认为 0.005 |
| margin | 边缘外扩像素值 默认为 20 |
在文件 projection.hpp 第 681 行定义.
|
inline |
清空投影类所有数据
该方法用于清空投影类中所有数据,但保留已分配的空间。在确保存在图像投影的情况下,将投影数据置零,同时将对应图像的高度和宽度清零。
在文件 projection.hpp 第 488 行定义.

|
inline |
获取纵向投影中指定列的投影值
该方法用于获取纵向投影中指定列的投影值,通过给定的列索引和行区间范围,在 O(1) 的时间复杂度内计算出对应的投影值。
| index | 列索引 |
| row_range | 行区间 默认为 Interval::All() |
在文件 projection.hpp 第 632 行定义.

|
inline |
根据指定的区域投影抽取波峰
该方法用于根据给定的投影方向、最小投影值、最小波峰跨度等参数,从指定的矩形区域(即按矩形区域裁剪后的子图像)中抽取波峰区间列表。横向投影的时间复杂度为 O(矩形区域的高度),纵向投影的时间复杂度为 O(矩形区域的宽度)。
| direction | 投影的方向, 横向 或者 纵向 |
| min_proj_value | 波峰中的最小投影值 |
| min_peak_span | 最小波峰跨度 |
| rect | 投影的矩形区域 |
| is_absolute_coord | 是否采用绝对坐标系(绝对坐标系指的是区域信息相对于整个图像的坐标系统而定;相对坐标系则是指区域信息是基于特定投影区域内图像的坐标系统来确定的) 默认是 true |
在文件 projection.hpp 第 773 行定义.

|
inline |
根据指定的行区间和列区间投影抽取波峰
该方法用于根据给定的投影方向、最小投影值、最小波峰跨度等参数,从指定的行区间和列区间(即按行和列裁剪后的子图像)中抽取波峰区间列表。横向投影的时间复杂度为 O(行区间长度),纵向投影的时间复杂度为 O(列区间长度)。
| direction | 投影的方向, 横向 或者 纵向 |
| min_proj_value | 波峰中的最小投影值 |
| min_peak_span | 最小波峰跨度 |
| row_range | 行区间 默认为 Interval::All() |
| col_range | 列区间 默认为 Interval::All() |
| is_absolute_coord | 是否采用绝对坐标系(绝对坐标系指的是区域信息相对于整个图像的坐标系统而定;相对坐标系则是指区域信息是基于特定投影区域内图像的坐标系统来确定的) 默认是 true |
在文件 projection.hpp 第 736 行定义.


|
inlinestatic |
根据投影抽取所有波峰区间
该方法用于根据给定的投影数据、投影区间、最小投影值和最小波峰跨度,提取出所有满足波峰条件的区间列表。
| INDEXED | 可索引对象类型(如数组、向量等) |
| projection | 投影数据(支持任何可索引对象) |
| interval | 需要计算的投影区间 |
| min_proj_value | 波峰中的最小投影值 |
| min_peak_span | 最小波峰跨度 |
在文件 projection.hpp 第 854 行定义.
|
inline |
根据指定的区域投影抽取波谷
该方法用于根据给定的投影方向、最大投影值、最小波谷跨度等参数,从指定的矩形区域(即按矩形区域裁剪后的子图像)中抽取波谷区间列表。横向投影的时间复杂度为 O(矩形区域的高度),纵向投影的时间复杂度为 O(矩形区域的宽度)。
| direction | 投影的方向, 横向 或者 纵向 |
| max_proj_value | 波谷中的最大投影值 |
| min_trough_span | 最小波谷跨度 |
| rect | 投影的矩形区域 |
| is_absolute_coord | 是否采用绝对坐标系(绝对坐标系指的是区域信息相对于整个图像的坐标系统而定;相对坐标系则是指区域信息是基于特定投影区域内图像的坐标系统来确定的) 默认是 true |
在文件 projection.hpp 第 832 行定义.

|
inline |
根据指定的行区间和列区间投影抽取波谷
该方法用于根据给定的投影方向、最大投影值、最小波谷跨度等参数,从指定的行区间和列区间(即按行和列裁剪后的子图像)中抽取波谷区间列表。横向投影的时间复杂度为 O(行区间长度),纵向投影的时间复杂度为 O(列区间长度)。
| direction | 投影的方向, 横向 或者 纵向 |
| max_proj_value | 波谷中的最大投影值 |
| min_trough_span | 最小波谷跨度 |
| row_range | 行区间 默认为 Interval::All() |
| col_range | 列区间 默认为 Interval::All() |
| is_absolute_coord | 是否采用绝对坐标系(绝对坐标系指的是区域信息相对于整个图像的坐标系统而定;相对坐标系则是指区域信息是基于特定投影区域内图像的坐标系统来确定的) 默认是 true |
在文件 projection.hpp 第 794 行定义.


|
inlinestatic |
根据投影抽取所有波谷区间
该方法用于根据给定的投影数据、投影区间、最大投影值和最小波谷跨度,提取出所有满足波谷条件的区间列表。
| INDEXED | 可索引对象类型(如数组、向量等) |
| projection | 投影数据(支持任何可索引对象) |
| max_proj_value | 波谷中的最大投影值 |
| min_trough_span | 最小波谷跨度 |
在文件 projection.hpp 第 891 行定义.
|
inline |
获取指定区域的投影图像图像
该方法用于获取指定区域的投影图像图像,即按矩形区域裁剪后的子图像的投影图像图像,按照给定的方向进行投影。在保证矩形区域在图像的高度和宽度范围内的前提下,生成对应的投影图像。横向投影的时间复杂度为 O(矩形区域的高度),纵向投影的时间复杂度为 O(矩形区域的宽度)。
在文件 projection.hpp 第 547 行定义.

|
inline |
获取指定行区间和列区间的投影图像图像
该方法用于获取指定行区间和列区间的投影图像图像,即按行和列裁剪后的子图像的投影图像图像,按照给定的方向进行投影。在保证行区间和列区间在图像的高度和宽度范围内的前提下,生成对应的投影图像。横向投影的时间复杂度为 O(行区间长度),纵向投影的时间复杂度为 O(列区间长度)。
| direction | 投影的方向, 横向 或者 纵向 |
| row_range | 行区间 默认为 Interval::All() |
| col_range | 列区间 默认为 Interval::All() |
在文件 projection.hpp 第 517 行定义.


|
inline |
投影类的拷贝赋值函数
该拷贝赋值函数用于将另一个投影对象的数据拷贝给当前对象。
| projection | 另一个投影对象 |
在文件 projection.hpp 第 209 行定义.

|
inline |
投影类的移动赋值函数
该移动赋值函数用于将另一个投影对象的资源移动给当前对象,并更新相关信息。
| projection | 投影 |
在文件 projection.hpp 第 230 行定义.
|
inline |
重置投影图像所对应投影数据空间大小
该方法用于重新设置投影对象对应的投影数据空间大小,类似于 STL 容器的 reserve 功能,如果需要重置的空间大小小于当前已分配空间大小,则不执行重置操作。
| height | 投影图像高度 |
| width | 投影图像宽度 |
在文件 projection.hpp 第 342 行定义.
|
inline |
重置投影图对象的大小
该方法用于重新设置投影对象的大小,类似于 STL 容器的 resize 功能。
| height | 投影图像高度 |
| width | 投影图像宽度 |
在文件 projection.hpp 第 365 行定义.
|
inline |
获取横向投影中指定行的投影值
该方法用于获取横向投影中指定行的投影值,通过给定的行索引和列区间范围,在 O(1) 的时间复杂度内计算出对应的投影值。
| index | 行索引 |
| col_range | 列区间 默认为 Interval::All() |
在文件 projection.hpp 第 610 行定义.

|
inline |
交换投影
该方法用于交换当前投影对象与另一份投影对象的数据,类似于 STL 容器的 swap 方法,时间复杂度为 O(1)。
| projection | 另一份投影 |
在文件 projection.hpp 第 467 行定义.
获取指定区域的投影值
该方法用于获取指定区域的投影值,即按矩形区域裁剪后的子图像的投影值,按照给定的方向进行投影。在保证矩形区域在图像的高度和宽度范围内的前提下,计算对应的投影值。横向投影的时间复杂度为 O(矩形区域的高度),纵向投影的时间复杂度为 O(矩形区域的宽度)。
在文件 projection.hpp 第 593 行定义.

|
inline |
获取指定行区间和列区间的投影值
该方法用于获取指定行区间和列区间的投影值,即按行和列裁剪后的子图像的投影值,按照给定的方向进行投影。在保证行区间和列区间在图像的高度和宽度范围内的前提下,计算对应的投影值。横向投影的时间复杂度为 O(行区间长度),纵向投影的时间复杂度为 O(列区间长度)。
| direction | 投影的方向, 横向 或者 纵向 |
| row_range | 行区间 默认为 Interval::All() |
| col_range | 列区间 默认为 Interval::All() |
在文件 projection.hpp 第 565 行定义.

|
inline |