表格线识别通用库文档
载入中...
搜索中...
未找到
cm::Intervals类 参考

区间列表类 更多...

#include <intervals.hpp>

类 cm::Intervals 继承关系图:
cm::Intervals 的协作图:

Public 成员函数

 Intervals ()=default
 区间类的默认构造函数
 
 Intervals (const Intervals &intervals)=default
 区间类的拷贝构造函数
 
 Intervals (const std::vector< cv::Range > &ranges)
 区间列表类的带参构造函数
 
 ~Intervals ()=default
 区间类的析构函数
 
IntervalsFilterInvalidIntervals (int min_interval_len=1)
 过滤无效区间
 
IntervalsMergeIntervals (int max_interval_distance=0)
 合并相邻或重叠区间
 
- Public 成员函数 继承自 cm::List< Interval >
 List ()=default
 列表类的默认构造函数
 
 List (const List< Interval > &list)=default
 列表类的拷贝构造函数
 
 List (const std::vector< Interval > &list)
 列表类的带参构造函数
 
 ~List ()=default
 列表类的析构函数
 
List< Interval > & operator+= (const List< Interval > &list)
 列表类重载加等于运算符
 
List< IntervalFilter (const FUNC &func) const
 过滤列表项
 
U Reduce (const FUNC &func, U initial_value=U{}) const
 累计列表项
 
List< UMap (const FUNC &func) const
 列表项映射
 
List< IntervalMutFilter (const FUNC &func)
 过滤列表项
 
U MutReduce (const FUNC &func, U initial_value=U{})
 累计列表项
 
List< UMutMap (const FUNC &func)
 列表项映射
 
const_iterator Max () const
 求列表中的最大值
 
const_iterator Max (const FUNC &func) const
 求列表中的最大值
 
const_iterator Min () const
 求列表中的最小值
 
const_iterator Min (const FUNC &func) const
 求列表中的最小值
 
List< Interval > & Sort ()
 对列表进行排序
 
List< Interval > & Sort (const FUNC &func)
 对列表进行排序
 
iterator Order (size_t index)
 按序获取列表中指定索引的元素
 
iterator Order (size_t index, const FUNC &func)
 按序获取列表中指定索引的元素
 
bool Include (const Interval &value) const
 判断列表中是否包含指定值
 
bool Include (const FUNC &func) const
 判断列表中是否包含满足指定条件的值
 
size_t Index (const Interval &value, size_t from_index=0) const
 查找指定值在列表中的索引
 
size_t Index (const FUNC &func, size_t from_index=0) const
 查找指定值在列表中的索引
 
size_t LastIndex (const Interval &value, size_t from_index=INT_MAX) const
 查找指定值在列表中的索引
 
size_t LastIndex (const FUNC &func, size_t from_index=INT_MAX) const
 查找指定值在列表中的索引
 
size_t Count (const Interval &value) const
 统计列表中指定值的出现次数
 
size_t Count (const FUNC &func) const
 统计满足指定条件的元素个数
 
List< Interval > & Reverse ()
 对列表中的元素进行反转
 
List< Interval > & Shuffle ()
 对列表中的元素进行随机打乱
 
List< Interval > & Fill (const Interval &value)
 将列表中所有元素填充为指定值
 
List< IntervalSlice (size_t start, size_t end=UINT_MAX) const
 切片提取列表中指定范围的元素
 

详细描述

区间列表类

该类继承自 List<Interval>,用于管理和操作一系列的 区间

作者
dreamy-xay
日期
2024-03-02

在文件 intervals.hpp29 行定义.

构造及析构函数说明

◆ Intervals() [1/3]

cm::Intervals::Intervals ( )
default

区间类的默认构造函数

◆ Intervals() [2/3]

cm::Intervals::Intervals ( const Intervals & intervals)
default

区间类的拷贝构造函数

◆ Intervals() [3/3]

cm::Intervals::Intervals ( const std::vector< cv::Range > & ranges)
inline

区间列表类的带参构造函数

该构造函数用于从cv::Range对象的集合初始化 Intervals 对象,接受一个std::vector<cv::Range>作为参数,其中每个cv::Range对象表示一个区间。

参数
ranges一个包含多个cv::Range对象的向量,每个对象代表一个区间的起始和结束点
注意
该构造函数不检查cv::Range对象是否有效(例如,start 是否小于等于 end)或区间是否有重叠。
作者
dreamy-xay
日期
2023-12-03

在文件 intervals.hpp56 行定义.

◆ ~Intervals()

cm::Intervals::~Intervals ( )
default

区间类的析构函数

成员函数说明

◆ FilterInvalidIntervals()

Intervals & cm::Intervals::FilterInvalidIntervals ( int min_interval_len = 1)
inline

过滤无效区间

遍历区间列表,移除长度小于指定最小长度的区间。此操作直接修改调用对象,保留所有有效区间。

参数
min_interval_len区间的最小有效长度 默认为 1
返回
类自身引用,方便链式调用
作者
dreamy-xay
日期
2023-12-04

在文件 intervals.hpp72 行定义.

函数调用图:

◆ MergeIntervals()

Intervals & cm::Intervals::MergeIntervals ( int max_interval_distance = 0)
inline

合并相邻或重叠区间

根据指定的最大间隔距离合并当前区间列表中相邻或重叠的区间。

参数
max_interval_distance两个区间之间允许的最大间隔距离 默认为 0
返回
类自身引用,方便链式调用
注解
算法的时间复杂度为 O(nlogn),主要步骤如下:
  • 首先对区间按照左边界(起始值)进行排序,然后遍历区间列表,将所有满足合并条件的区间合并为一个区间。
  • 两个区间如果它们之间的距离不超过最大间隔距离,则被视为满足合并条件。
  • 替换原有的区间列表,只保留合并后的区间。
作者
dreamy-xay
日期
2023-12-04

在文件 intervals.hpp96 行定义.

函数调用图:

该类的文档由以下文件生成: