To implement a transform filter, you have to derive from this class.
FrameFilterImpl-derived filters copy image data in their transform method from a source to a destination frame.
FrameUpdateFilterImpl-derived filters can analyze and modify a single buffer that is presented to them in updateInPlace.
Depending on your task, it is better to either derive from FrameFilterImpl or from FrameUpdateFilterImpl.
To get a working transform filter, you do at least have to implement:
To customize the behavior of the filter, you can also override:
To add a dialog box to your transform filter, you have to override methods from IFrameFilter:
To register parameters that can be queried and modified using IFrameFilter::getAvailableParameters, IFrameFilter::setParameter and IFrameFilter::getParameter, use
To derive from FrameFilterImpl, use the name of your derived class as a template parameter:
class MyFilter : public DShowLib::FrameFilterImpl<MyFilter> { // ... };
Every class derived from FrameFilterImpl has to have a static method getStaticFilterInfo, returning a FilterInfo structure containing information about the filter:
public: // FrameFilterImpl implementation static DShowLib::FilterInfo getStaticFilterInfo();
See Writing a Frame Filter: Binarization to see how to implement that method.
Header File: tisudshl.h
Namespace: DShowLib
Introduced in version 3.0
IFrameFilter
FrameFilterImpl
FrameUpdateFilterImpl
Method | Description | ||
addBoolParam |
Registers a boolean parameter than can be accessed using the methods of IFrameFilter. |
||
addDataParam |
Registers a data parameter than can be accessed using the methods of IFrameFilter. |
||
addFloatParam |
Registers a float parameter than can be accessed using the methods of IFrameFilter. |
||
addLongParam |
Registers a long (integer) parameter than can be accessed using the methods of IFrameFilter. |
||
addStringParam |
Registers a string parameter than can be accessed using the methods of IFrameFilter. |
||
checkInputType |
Determines whether a specific input type is supported by the filter. |
||
checkTransformTypes |
Determines whether a specific conversion is supported by the filter. |
||
getSupportedInputTypes |
This method is called to request the types which this transform filter supports as input types. |
||
getTransformOutputTypes |
This method is called to request the possible output types. |
||
notifyStart |
This method is called when the transformation process (live mode) is started. |
||
notifyStop |
This method is called when the transformation process (live mode) is stopped. |
||
transform |
This method is called when a frame must be transformed or copied from the source to the destination IFrame. |
||
⋯
⋯ ⋯
Established in 1990, The Imaging Source is one of the leading manufacturers of industrial cameras, frame grabbers and video converters for production automation, quality assurance, logistics, medicine, science and security.
Our comprehensive range of cameras with USB 3.1, USB 3.0, USB 2.0, GigE interfaces and other innovative machine vision products are renowned for their high quality and ability to meet the performance requirements of demanding applications.