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

区间类 更多...

#include <interval.hpp>

struct  CompareByLength
 区间的比较仿函数 更多...
 

Public 成员函数

 Interval ()
 区间类的默认构造函数
 
 Interval (int start, int end)
 区间类的带参构造函数
 
 Interval (const Interval &interval)
 区间类的拷贝构造函数
 
 Interval (const cv::Range &range)
 区间类的带参构造函数
 
 ~Interval ()
 区间类析构函数
 
 operator cv::Range () const
 将区间类转换为 OpenCV 的 cv::Range 类型
 
int Length () const
 获取区间长度
 
template<typename T >
bool Include (T value) const
 判断值是否被该区间包含
 
double Middle () const
 获取区间中间值
 
bool IsValid (int min_interval_len=1) const
 判断区间是否有效
 
bool IsIntersect (const Interval &interval) const
 判断两区间是否相交
 
Interval Intersect (const Interval &interval) const
 计算两个区间的相交区间
 
Interval Union (const Interval &interval) const
 计算两个区间的并区间
 
IntervalTranslate (int start_trans_value, int end_trans_value)
 区间的坐标平移
 
IntervalTranslate (int trans_value)
 区间的坐标平移
 

静态 Public 成员函数

static Interval All ()
 获取表示全范围的区间
 

Public 属性

int start
 区间开始值(开区间)
 
int end
 区间结束值(闭区间)
 

友元

bool operator== (const Interval &interval1, const Interval &interval2)
 区间类重载等于号
 
bool operator!= (const Interval &interval1, const Interval &interval2)
 区间类重载不等于号
 
bool operator< (const Interval &interval1, const Interval &interval2)
 区间类重载小于号
 
bool operator> (const Interval &interval1, const Interval &interval2)
 区间类重载大于号
 
bool operator<= (const Interval &interval1, const Interval &interval2)
 区间类重载小于等于号
 
bool operator>= (const Interval &interval1, const Interval &interval2)
 区间类重载大于等于号
 
std::ostream & operator<< (std::ostream &out, const Interval &interval)
 区间类重载输出流运算符
 

详细描述

区间类

该类表示一个区间,左端点为开区间,右端点为闭区间,表现形式为 [start, end)。

作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp29 行定义.

构造及析构函数说明

◆ Interval() [1/4]

cm::Interval::Interval ( )
inline

区间类的默认构造函数

该默认构造函数初始化区间的起始点和结束点为默认值(通常为 0 或空值)。

作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp142 行定义.

◆ Interval() [2/4]

cm::Interval::Interval ( int start,
int end )
inline

区间类的带参构造函数

该带参构造函数用于初始化区间的起始点和结束点,通过传入的参数 start 和 end 进行赋值。

参数
start区间的起始值
end区间的结束值
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp154 行定义.

◆ Interval() [3/4]

cm::Interval::Interval ( const Interval & interval)
inline

区间类的拷贝构造函数

该拷贝构造函数用于通过已存在的区间对象创建一个新的区间对象,将已存在区间对象的起始点和结束点赋值给新对象。

参数
interval已存在的区间对象
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp165 行定义.

◆ Interval() [4/4]

cm::Interval::Interval ( const cv::Range & range)
inline

区间类的带参构造函数

该构造函数通过传入 OpenCV 的 cv::Range 对象来初始化区间的起始点和结束点。

参数
rangeOpenCV 的 cv::Range 对象,包含区间的起始值和结束值
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp176 行定义.

◆ ~Interval()

cm::Interval::~Interval ( )
inline

区间类析构函数

该析构函数用于释放区间对象所占用的资源。

作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp185 行定义.

成员函数说明

◆ All()

Interval cm::Interval::All ( )
inlinestatic

获取表示全范围的区间

该函数用于返回一个表示整个整数范围的区间,起始坐标为 INT_MIN,结束坐标为 INT_MAX。

返回
表示全范围的区间
作者
dreamy-xay
日期
2023-12-04

在文件 interval.hpp493 行定义.

◆ Include()

template<typename T >
bool cm::Interval::Include ( T value) const
inline

判断值是否被该区间包含

判断给定的值是否在该区间的范围内,包括起始点但不包括终止点。

模板参数
T任意值类型
参数
value
返回
值是否被该区间包含
返回值
true值在区间内
false值不在区间内
注解
对于边界条件,采用左闭右开原则,假设区间为 [a, b),则 a 属于区间内,b 不属于区间内。
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp364 行定义.

◆ Intersect()

Interval cm::Interval::Intersect ( const Interval & interval) const
inline

计算两个区间的相交区间

给定另一个区间,计算与当前区间的相交区间,即两个区间重合的部分。

参数
interval另一个区间
返回
相交区间
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp428 行定义.

这是这个函数的调用关系图:

◆ IsIntersect()

bool cm::Interval::IsIntersect ( const Interval & interval) const
inline

判断两区间是否相交

该函数用于判断当前区间和另一个区间是否相交,通过计算它们的交集长度来判断是否相交。

参数
interval另一个区间
返回
两区间是否相交
返回值
true两区间相交
false两区间不相交
注意
默认是相交区间的长度大于 0 才算两个区间相交,两个区间相邻但不重合时也视为不相交。比如区间 [a, b) 和区间 [b, c) 就不相交。
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp413 行定义.

函数调用图:

◆ IsValid()

bool cm::Interval::IsValid ( int min_interval_len = 1) const
inline

判断区间是否有效

判断区间是否有效,即区间长度是否大于等于指定的最小区间长度。

参数
min_interval_len最小区间长度 默认为 1
返回
区间是否有效
返回值
true区间有效(区间长度大于等于最小区间长度)
false区间无效(区间长度小于最小区间长度)
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp394 行定义.

◆ Length()

int cm::Interval::Length ( ) const
inline

获取区间长度

该函数用于计算区间的长度,即区间的终止点减去起始点的差值。

返回
区间长度
作者
dreamy-xay
日期
2023-12-3

在文件 interval.hpp342 行定义.

这是这个函数的调用关系图:

◆ Middle()

double cm::Interval::Middle ( ) const
inline

获取区间中间值

该函数用于计算区间的中间值,即区间起始点与终止点之间的平均数。

返回
区间中间值
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp377 行定义.

◆ operator cv::Range()

cm::Interval::operator cv::Range ( ) const
inline

将区间类转换为 OpenCV 的 cv::Range 类型

该转换操作符将当前区间对象转换为 OpenCV 的 cv::Range 类型,返回一个包含相同起始点和结束点的 cv::Range 对象。

返回
转换后的 OpenCV 的 cv::Range 对象
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp196 行定义.

◆ Translate() [1/2]

Interval & cm::Interval::Translate ( int start_trans_value,
int end_trans_value )
inline

区间的坐标平移

该函数用于将区间沿坐标轴进行平移,通过给定的平移值分别对区间的起始坐标和结束坐标进行平移操作。

参数
start_trans_value区间开始坐标平移值
end_trans_value区间结束坐标平移值
返回
类自身引用,方便链式调用
作者
dreamy-xay
日期
2023-12-04

在文件 interval.hpp459 行定义.

◆ Translate() [2/2]

Interval & cm::Interval::Translate ( int trans_value)
inline

区间的坐标平移

该函数用于将区间沿坐标轴进行平移,通过给定的平移值同时对区间的起始坐标和结束坐标进行相同的平移操作。

参数
trans_value区间开始和结束坐标的平移值
返回
类自身引用,方便链式调用
作者
dreamy-xay
日期
2023-12-04

在文件 interval.hpp477 行定义.

◆ Union()

Interval cm::Interval::Union ( const Interval & interval) const
inline

计算两个区间的并区间

给定另一个区间,计算与当前区间的并区间,即同时覆盖两个区间的最小区间。

参数
interval另一个区间
返回
并区间
作者
dreamy-xay
日期
2023-12-05

在文件 interval.hpp443 行定义.

友元及相关函数文档

◆ operator!=

bool operator!= ( const Interval & interval1,
const Interval & interval2 )
friend

区间类重载不等于号

该重载函数用于比较两个区间对象是否不相等,判断的标准是两个区间对象的起始点和终止点至少有一个不相等。

参数
interval1第一个区间对象
interval2第二个区间对象
返回
两个区间对象是否不相等
返回值
true两个区间对象的起始点和终止点至少有一个不相等
false两个区间对象的起始点和终止点均相等
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp232 行定义.

◆ operator<

bool operator< ( const Interval & interval1,
const Interval & interval2 )
friend

区间类重载小于号

该重载函数用于比较两个区间对象的大小关系,如果第一个区间对象的起始点小于第二个区间对象的起始点,则返回 true;如果两个区间对象的起始点相等,那么比较它们的终止点,终止点小的区间被认为是小于另一个区间。

参数
interval1第一个区间对象
interval2第二个区间对象
返回
区间1和区间2在数轴上的相对位置
返回值
true区间1在数轴上位于区间2的左侧
false区间1不在数轴上位于区间2的左侧
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp250 行定义.

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const Interval & interval )
friend

区间类重载输出流运算符

此操作符允许将区间对象的内容以文本形式输出到输出流中,如控制台或文件,格式为 "[start, end)"。

参数
out输出流对象,例如 std::cout
interval要输出的区间对象
返回
输出流对象,允许链式调用
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp328 行定义.

◆ operator<=

bool operator<= ( const Interval & interval1,
const Interval & interval2 )
friend

区间类重载小于等于号

该重载函数用于比较两个区间对象的大小关系,如果第一个区间对象的起始点小于第二个区间对象的起始点,则返回 true;如果两个区间对象的起始点相等,那么比较它们的终止点,终止点小于或等于的情况下也被认为是小于等于另一个区间。

参数
interval1第一个区间对象
interval2第二个区间对象
返回
区间1和区间2在数轴上的相对位置
返回值
true区间1在数轴上位于区间2的左侧或重合
false区间1在数轴上位于区间2的右侧
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp290 行定义.

◆ operator==

bool operator== ( const Interval & interval1,
const Interval & interval2 )
friend

区间类重载等于号

该重载函数用于比较两个区间对象是否相等,判断的标准是两个区间对象的起始点和终止点均相等。

参数
interval1第一个区间对象
interval2第二个区间对象
返回
两个区间对象是否相等
返回值
true两个区间对象的起始点和终止点均相等
false两个区间对象的起始点和终止点至少有一个不相等
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp214 行定义.

◆ operator>

bool operator> ( const Interval & interval1,
const Interval & interval2 )
friend

区间类重载大于号

该重载函数用于比较两个区间对象的大小关系,如果第一个区间对象的起始点大于第二个区间对象的起始点,则返回 true;如果两个区间对象的起始点相等,那么比较它们的终止点,终止点大的区间被认为是大于另一个区间。

参数
interval1第一个区间对象
interval2第二个区间对象
返回
区间1和区间2在数轴上的相对位置
返回值
true区间1在数轴上位于区间2的右侧
false区间1不在数轴上位于区间2的右侧
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp270 行定义.

◆ operator>=

bool operator>= ( const Interval & interval1,
const Interval & interval2 )
friend

区间类重载大于等于号

该重载函数用于比较两个区间对象的大小关系,如果第一个区间对象的起始点大于第二个区间对象的起始点,则返回 true;如果两个区间对象的起始点相等,那么比较它们的终止点,终止点大于或等于的情况下也被认为是大于等于另一个区间。

参数
interval1第一个区间对象
interval2第二个区间对象
返回
区间1和区间2在数轴上的相对位置
返回值
true区间1在数轴上位于区间2的右侧或重合
false区间1在数轴上位于区间2的左侧
作者
dreamy-xay
日期
2023-12-03

在文件 interval.hpp310 行定义.

类成员变量说明

◆ end

int cm::Interval::end

区间结束值(闭区间)

在文件 interval.hpp34 行定义.

◆ start

int cm::Interval::start

区间开始值(开区间)

在文件 interval.hpp32 行定义.


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