|
| AffineOp (core::scalemode eInterpolate=core::interpolateLIN) |
| Constructor. More...
|
|
void | reset () |
| resets the internal Matrix More...
|
|
void | rotate (double dAngle) |
| adds a rotation More...
|
|
void | translate (double x, double y) |
| adds a traslation More...
|
|
void | scale (double x, double y) |
| adds a scale More...
|
|
virtual void | apply (const core::ImgBase *poSrc, core::ImgBase **ppoDst) |
| Applies the affine transform to the image. More...
|
|
void | setAdaptResultImage (bool on) |
| sets whether the result image is is scaled and translated to contain the whole result image More...
|
|
bool | getAdaptResultImage () const |
| returns the Adapt Result image option More...
|
|
virtual | ~BaseAffineOp () |
| Destructor. More...
|
|
virtual void | apply (const core::ImgBase *operand1, core::ImgBase **dst)=0 |
| import from super class More...
|
|
virtual const core::ImgBase * | apply (const core::ImgBase *src) |
| import from super class More...
|
|
| UnaryOp () |
| Explicit empty constructor. More...
|
|
| UnaryOp (const UnaryOp &other) |
| Explicit copy constructor. More...
|
|
UnaryOp & | operator= (const UnaryOp &other) |
| Explicit declaration of the assignment operator. More...
|
|
virtual | ~UnaryOp () |
| Destructor. More...
|
|
virtual ICL_DEPRECATED void | applyMT (const core::ImgBase *operand1, core::ImgBase **dst, unsigned int nThreads) |
| apply function for multithreaded filtering (currently even slower than using one thread) More...
|
|
virtual const core::ImgBase * | apply (const core::ImgBase *src) |
| applys the filter usign an internal buffer as output image More...
|
|
void | operator() (const core::ImgBase *src, core::ImgBase **dst) |
| function operator (alternative for apply(src,dst) More...
|
|
const core::ImgBase * | operator() (const core::ImgBase *src) |
| function operator for the implicit destination apply(src) call More...
|
|
const core::ImgBase & | operator() (const core::ImgBase &src) |
| reference based function operator More...
|
|
void | setClipToROI (bool bClipToROI) |
| sets if the image should be clip to ROI or not More...
|
|
void | setCheckOnly (bool bCheckOnly) |
| sets if the destination image should be adapted to the source, or if it is only checked if it can be adapted. More...
|
|
bool | getClipToROI () const |
| returns the ClipToROI status More...
|
|
bool | getCheckOnly () const |
| returns the CheckOnly status More...
|
|
virtual void | setPropertyValue (const std::string &propertyName, const utils::Any &value) |
| sets value of a property (always call call_callbacks(propertyName) or Configurable::setPropertyValue) More...
|
|
virtual | ~Configurable () |
| virtual destructor More...
|
|
| Configurable (const Configurable &other) |
| Copy constructor. More...
|
|
Configurable & | operator= (const Configurable &other) |
| Assignment operator. More...
|
|
void | setConfigurableID (const std::string &ID) |
| sets the ID of this configurable More...
|
|
const std::string & | getConfigurableID () const |
| returns the configurables static ID More...
|
|
bool | isOrderedFlagSet () const |
| returns whether the ordered flag is set More...
|
|
void | deactivateProperty (const std::string &pattern) |
| adds an additional deativation pattern More...
|
|
void | deleteDeactivationPattern (const std::string &pattern) |
| removed a formerly added deactivation pattern More...
|
|
std::vector< std::string > | getPropertyListWithoutDeactivated () const |
| this returns a filtered list of properties (using all filters added by deactivateProperty) More...
|
|
virtual void | adaptProperty (const std::string &name, const std::string &newType, const std::string &newInfo, const std::string &newToolTip) |
| this function can be used to adapt a specific property afterwards More...
|
|
void | registerCallback (const Callback &cb) |
| add a callback for changed properties More...
|
|
void | removedCallback (const Callback &cb) |
| removes a callback that was registered before More...
|
|
void | syncChangesTo (Configurable *others, int num=1) |
| this can be used to let this instance also apply property changes to others More...
|
|
virtual std::vector< std::string > | getPropertyList () const |
| returns a list of All properties, that can be set using setProperty More...
|
|
virtual bool | supportsProperty (const std::string &propertyName) const |
| base implementation for property check (seaches in the property list) More...
|
|
virtual void | saveProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) const |
| writes all available properties into a file More...
|
|
virtual void | loadProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) |
| reads a camera config file from disc More...
|
|
virtual std::string | getPropertyType (const std::string &propertyName) const |
| get type of property More...
|
|
virtual std::string | getPropertyInfo (const std::string &propertyName) const |
| get information of a properties valid values More...
|
|
virtual Any | getPropertyValue (const std::string &propertyName) const |
| returns the current value of a property or a parameter More...
|
|
virtual std::string | getPropertyToolTip (const std::string &propertyName) const |
| returns the tooltip description for a given property More...
|
|
virtual int | getPropertyVolatileness (const std::string &propertyName) const |
| Returns whether this property may be changed internally. More...
|
|
|
typedef Function< void, const Property & > | Callback |
| Function type for changed properties. More...
|
|
static UnaryOp * | fromString (const std::string &definition) |
| Creates a UnaryOp instance from given string definition. More...
|
|
static std::string | getFromStringSyntax (const std::string &opSpecifier) |
| gives a string syntax description for given opSpecifier More...
|
|
static std::vector< std::string > | listFromStringOps () |
| returns a list of all supported OP_SPEC values for the fromString function More...
|
|
static void | applyFromString (const std::string &definition, const core::ImgBase *src, core::ImgBase **dst) |
| creates, applies and releases a UnaryOp defined by given definition string More...
|
|
static std::string | create_default_ID (const std::string &prefix) |
| this function can be used in subclasses to create a default ID More...
|
|
static Configurable * | get (const std::string &id) |
| returns configurable by given ID More...
|
|
static void | register_configurable_type (const std::string &classname, Function< Configurable * > creator) |
| registers a configurable type More...
|
|
static std::vector< std::string > | get_registered_configurables () |
| returns a list of all registered configurable classnames More...
|
|
static Configurable * | create_configurable (const std::string &classname) |
| creates a configurable by given name More...
|
|
static const std::vector< std::string > | EMPTY_VEC |
| used as shortcut – just an empty vector of std::strings More...
|
|
bool | prepare (core::ImgBase **ppoDst, core::depth eDepth, const utils::Size &imgSize, core::format eFormat, int nChannels, const utils::Rect &roi, utils::Time timestamp=utils::Time::null) |
|
virtual bool | prepare (core::ImgBase **ppoDst, const core::ImgBase *poSrc) |
| check+adapt destination image to properties of given source image More...
|
|
virtual bool | prepare (core::ImgBase **ppoDst, const core::ImgBase *poSrc, core::depth eDepth) |
|
void | addProperty (const std::string &name, const std::string &type, const std::string &info, const Any &value=Any(), const int volatileness=0, const std::string &tooltip=std::string()) |
| This can be used by derived classes to store supported properties in the internal list. More...
|
|
void | addChildConfigurable (Configurable *configurable, const std::string &childPrefix="") |
| This adds another configurable as child. More...
|
|
void | removeChildConfigurable (Configurable *configurable) |
| removes the given child configurable More...
|
|
Property & | prop (const std::string &propertyName) |
| this CAN be used e.g. to store a property value in internal property-list More...
|
|
const Property & | prop (const std::string &propertyName) const |
| this CAN be used e.g. to store a property value in internal property-list More...
|
|
| Configurable (const std::string &ID="", bool ordered=true) |
| create this configurable with given ID More...
|
|
void | call_callbacks (const std::string &propertyName, const Configurable *caller) const |
| calls all registered callbacks More...
|
|
| Uncopyable () |
| Empty base constructor. More...
|
|
utils::MultiThreader * | m_poMT |
|
std::vector< Callback > | callbacks |
| internally managed list of callbacks More...
|
|
Class to apply an arbitrary series of affine transformations .
Affine operations apply transform pixel locations using affine matrix transformation. To optimize performance concatenated affine transformation's matrices are pre-multiplied.
Adapt Result Image
In some cases, it might make sense to automatically adapt the destinate image so that it contains the whole warping result image. Consider the following example
source image:
+
A---------+ +--/-----+
| | |/ |
| | --------> /| |\
| A | rot(45) + | A' | +
| | | |/
| | |\ /|
+---------+ +-----/--+
+
But obviously, the result image's corners are cut. If the "Adapt Result Image" option is set to true, the result image would be scaled to contain the whole rotated image and the affine matrix's shift is adpated in order to fit the result completely into the result image. If otherwise "Adpat Result Image is false, the result image's size will be identical to the source images size and the corners of the rotated image are cropped.
Please note: this options is by default set to "true". Only the TranslateOp will set it to false by default, because a pure translation is just compensated completely by the result image adaption.
Benchmarks:
example: a 300x400 rgb 8u-image was scaled by 1.001 and rotated by 1-360 degree in 3.6 degree steps We used a 2Ghz Core2Duo machine and g++ 4.3 with -O4 and -march=native flags set
With IPP: neares neighbour interpolation: 1ms linear interpolation 5ms
C++-Fallback: neares neighbour interpolation: 22ms linear interpolation 52ms