Initial setup for CLion
This commit is contained in:
51
ANSMOT/ByteTrack/include/Rect.h
Normal file
51
ANSMOT/ByteTrack/include/Rect.h
Normal file
@@ -0,0 +1,51 @@
|
||||
#pragma once
|
||||
#include "Eigen/Dense"
|
||||
namespace ByteTrack
|
||||
{
|
||||
template<typename T>
|
||||
using Tlwh = Eigen::Matrix<T, 1, 4, Eigen::RowMajor>;
|
||||
|
||||
template<typename T>
|
||||
using Tlbr = Eigen::Matrix<T, 1, 4, Eigen::RowMajor>;
|
||||
|
||||
template<typename T>
|
||||
using Xyah = Eigen::Matrix<T, 1, 4, Eigen::RowMajor>;
|
||||
|
||||
template<typename T>
|
||||
class Rect
|
||||
{
|
||||
public:
|
||||
Tlwh<T> tlwh;
|
||||
|
||||
Rect() = default;
|
||||
Rect(const T &x, const T &y, const T &width, const T &height);
|
||||
|
||||
~Rect();
|
||||
|
||||
const T &x() const;
|
||||
const T &y() const;
|
||||
const T &width() const;
|
||||
const T &height() const;
|
||||
|
||||
T &x();
|
||||
T &y();
|
||||
T &width();
|
||||
T &height();
|
||||
|
||||
const T &tl_x() const;
|
||||
const T &tl_y() const;
|
||||
T br_x() const;
|
||||
T br_y() const;
|
||||
|
||||
Tlbr<T> getTlbr() const;
|
||||
Xyah<T> getXyah() const;
|
||||
|
||||
float calcIoU(const Rect<T>& other) const;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
Rect<T> generate_rect_by_tlbr(const Tlbr<T>& tlbr);
|
||||
|
||||
template<typename T>
|
||||
Rect<T> generate_rect_by_xyah(const Xyah<T>& xyah);
|
||||
}
|
||||
Reference in New Issue
Block a user