42 #pragma warning(push, 0) // no warnings from includes 44 #include <QSharedPointer> 50 #ifdef DLL_CORE_EXPORT 51 #define DllCoreExport Q_DECL_EXPORT 53 #define DllCoreExport Q_DECL_IMPORT 69 MserBlob(
const std::vector<cv::Point>& pts = std::vector<cv::Point>(),
71 const QString&
id = QString());
79 std::vector<cv::Point> pts()
const;
80 std::vector<cv::Point> relativePts(
const Vector2D& origin)
const;
83 void draw(QPainter& p);
86 QSharedPointer<Pixel> toPixel()
const;
87 cv::Mat toBinaryMask()
const;
89 double overlapArea(
const Rect& r)
const;
94 std::vector<cv::Point>
mPts;
106 const cv::Mat& sparsity = cv::Mat(),
108 QSharedPointer<ScaleFactory> scaleFactory = QSharedPointer<ScaleFactory>(
new ScaleFactory()),
109 const QString&
id = QString());
122 bool isEmpty()
const;
124 void setScaleFactory(
const QSharedPointer<ScaleFactory>& scaleFactory);
126 void setOrientationIndex(
int orIdx);
127 void setLineSpacing(
int ls);
128 int orientationIndex()
const;
129 int numOrientations()
const;
130 double orientation()
const;
133 void scale(
double factor)
override;
134 double scaleFactor()
const;
135 int lineSpacingIndex()
const;
136 double lineSpacing()
const;
138 double minVal()
const;
139 cv::Mat data(
const DataIndex& dIdx = all_data);
141 QString toString()
const;
146 double mMinVal = 0.0;
151 int mLineSpacing = -1;
153 void convertData(
const cv::Mat& orHist,
const cv::Mat& sparsity);
173 static PixelTabStop create(
const QSharedPointer<Pixel>& pixel,
const QVector<QSharedPointer<PixelEdge> >& edges);
175 double orientation()
const;
197 return mEllipse.center();
205 double angle()
const;
208 void scale(
double factor)
override;
211 void addStats(
const QSharedPointer<PixelStats>& stats);
212 QSharedPointer<PixelStats> stats(
int idx = -1)
const;
217 void setLabel(
const QSharedPointer<PixelLabel>& label);
218 QSharedPointer<PixelLabel> label()
const;
220 void setPyramidLevel(
int level);
221 int pyramidLevel()
const;
223 cv::KeyPoint toKeyPoint()
const;
225 void setValue(
double value);
226 double value()
const;
228 cv::Mat toBinaryMask(
const Rect& r)
const;
236 draw_label_colors = 0x10,
237 draw_tab_stops = 0x20,
243 void draw(QPainter& p,
double alpha = 0.3,
const DrawFlags& df = DrawFlags() | draw_ellipse | draw_label_colors)
const;
250 QVector<QSharedPointer<PixelStats> >
mStats;
252 QSharedPointer<PixelLabel> mLabel = QSharedPointer<PixelLabel>::create();
255 int mPyramidLevel = 0;
263 PixelEdge(
const QSharedPointer<Pixel> first,
264 const QSharedPointer<Pixel> second,
265 const QString&
id = QString());
268 friend DllCoreExport bool operator<(const QSharedPointer<PixelEdge>& pe1,
const QSharedPointer<PixelEdge>& pe2);
270 virtual bool lessThan(
const PixelEdge& e)
const;
275 virtual double edgeWeightConst()
const;
276 virtual double edgeWeight();
279 QSharedPointer<Pixel> first()
const;
280 QSharedPointer<Pixel> second()
const;
282 void scale(
double s)
override;
283 void draw(QPainter& p)
const;
287 double mEdgeWeight = DBL_MAX;
302 LineEdge(
const QSharedPointer<Pixel> first,
303 const QSharedPointer<Pixel> second,
304 const QString&
id = QString());
305 friend DllCoreExport bool operator<(const QSharedPointer<LineEdge>& le1,
const QSharedPointer<LineEdge>& le2);
307 virtual double edgeWeightConst()
const override;
310 double mEdgeWeight = 0.0;
312 double statsWeight(
const QSharedPointer<Pixel>& pixel)
const;
313 double calcWeight()
const;
Vector2D mCenter
Definition: Pixel.h:92
std::vector< cv::Point > mPts
Definition: Pixel.h:94
Line mEdge
Definition: Pixel.h:292
PixelTabStop mTabStop
Definition: Pixel.h:251
This class holds Pixel statistics which are found when computing the local orientation.
Definition: Pixel.h:102
Rect bbox() const
Definition: Pixel.h:200
QVector< QSharedPointer< PixelStats > > mStats
Definition: Pixel.h:250
Type
Definition: Pixel.h:160
#define DllCoreExport
Definition: BaseImageElement.h:43
Ellipse mEllipse
Definition: Pixel.h:248
Flags turns enums into typesave flags It is strongly related (copied) from Useage: enum mDrawFlags { ...
Definition: Utils.h:166
Rect mBBox
Definition: Pixel.h:249
QSharedPointer< Pixel > mFirst
Definition: Pixel.h:290
DllCoreExport typedef double(* EdgeWeightFunction)(const PixelEdge *edge)
Definition: Algorithms.h:168
DataIndex
Definition: Pixel.h:112
QSharedPointer< Pixel > mSecond
Definition: Pixel.h:291
bool operator<(const PixelEdge &pe1, const PixelEdge &pe2)
Definition: Pixel.cpp:537
Definition: BaseImageElement.h:53
Flags< mDrawFlags > DrawFlags
Definition: Pixel.h:241
level
Definition: DependencyCollector.py:25
Definition: ScaleFactory.h:95
A basic line class including stroke width (thickness).
Definition: Shapes.h:68
cv::Mat mData
Definition: Pixel.h:144
This class represents a single instance of super pixels which are needed for the layout analysis...
Definition: Pixel.h:188
mDrawFlags
Definition: Pixel.h:230
Definition: Algorithms.cpp:45
Type mType
Definition: Pixel.h:179
Vector2D center() const
Definition: Pixel.h:196
QSharedPointer< ScaleFactory > mScaleFactory
Definition: Pixel.h:147
DllCoreExport double spacingWeighted(const PixelEdge *edge)
Returns the edge weight normalized by the line spacing. This function returns an edge weight that is ...
Definition: Algorithms.cpp:391
Rect mBBox
Definition: Pixel.h:93