28#ifndef _FIREVISION_FVUTILS_ZAUBERSTAB_H_
29#define _FIREVISION_FVUTILS_ZAUBERSTAB_H_
31#include <fvutils/base/types.h>
74 void setBuffer(
unsigned char *b,
unsigned int w,
unsigned int h);
75 void findRegion(
unsigned int seedX,
unsigned int seedY);
76 void addRegion(
unsigned int seedX,
unsigned int seedY);
79 void deleteRegion(
unsigned int seedX,
unsigned int seedY);
87 unsigned int threshold;
89 unsigned char *buffer;
93 ZRegion *privFindRegion(
unsigned int seedX,
unsigned int seedY);
94 ZSlice * findSlice(
unsigned int x,
unsigned int y,
unsigned int vSeed,
int uSeed = -1);
95 bool isSimilarV(
unsigned int v1,
unsigned int v2);
96 bool isSimilarU(
unsigned int u1,
unsigned int u2);
97 bool isSimilarUV(
unsigned int u1,
unsigned int u2,
unsigned int v1,
unsigned int v2);
a region is a stack of slices, together with the y-position of the slice at the top
std::vector< ZSlice * > * slices
slices
void clear()
Clears all slices.
virtual ~ZRegion()
Constructor.
Zaubertab selection utility.
ZRegion * getRegion() const
Get region.
void findRegion(unsigned int seedX, unsigned int seedY)
Find region.
void setThreshold(unsigned int t)
Set threshold.
std::vector< fawkes::rectangle_t > getSelection()
Get selection.
void deleteRegion()
Delete all regions.
void addRegion(unsigned int seedX, unsigned int seedY)
Add region.
unsigned int getThreshold()
Get threshold.
void setBuffer(unsigned char *b, unsigned int w, unsigned int h)
Set buffer to work on.
bool isEmptyRegion()
Check if region is empty.
a "slice" is a row of consecutive pixels (horizontal)