mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 08:42:39 +00:00
Add erode libopencv filter.
Originally committed as revision 26097 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
91cbb6ba53
commit
17fc94933b
@ -532,6 +532,7 @@ informations:
|
|||||||
|
|
||||||
Follows the list of supported libopencv filters.
|
Follows the list of supported libopencv filters.
|
||||||
|
|
||||||
|
@anchor{dilate}
|
||||||
@subsection dilate
|
@subsection dilate
|
||||||
|
|
||||||
Dilate an image by using a specific structuring element.
|
Dilate an image by using a specific structuring element.
|
||||||
@ -578,6 +579,15 @@ ocv=dilate=5x5+2x2/cross:2
|
|||||||
ocv=0x0+2x2/custom=diamond.shape:2
|
ocv=0x0+2x2/custom=diamond.shape:2
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@subsection erode
|
||||||
|
|
||||||
|
Erode an image by using a specific structuring element.
|
||||||
|
This filter corresponds to the libopencv function @code{cvErode}.
|
||||||
|
|
||||||
|
The filter accepts the parameters: @var{struct_el}:@var{nb_iterations},
|
||||||
|
with the same meaning and use of those of the dilate filter
|
||||||
|
(@pxref{dilate}).
|
||||||
|
|
||||||
@subsection smooth
|
@subsection smooth
|
||||||
|
|
||||||
Smooth the input video.
|
Smooth the input video.
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#define LIBAVFILTER_VERSION_MAJOR 1
|
#define LIBAVFILTER_VERSION_MAJOR 1
|
||||||
#define LIBAVFILTER_VERSION_MINOR 70
|
#define LIBAVFILTER_VERSION_MINOR 70
|
||||||
#define LIBAVFILTER_VERSION_MICRO 1
|
#define LIBAVFILTER_VERSION_MICRO 2
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||||
LIBAVFILTER_VERSION_MINOR, \
|
LIBAVFILTER_VERSION_MINOR, \
|
||||||
|
@ -291,6 +291,13 @@ static void dilate_end_frame_filter(AVFilterContext *ctx, IplImage *inimg, IplIm
|
|||||||
cvDilate(inimg, outimg, dilate->kernel, dilate->nb_iterations);
|
cvDilate(inimg, outimg, dilate->kernel, dilate->nb_iterations);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void erode_end_frame_filter(AVFilterContext *ctx, IplImage *inimg, IplImage *outimg)
|
||||||
|
{
|
||||||
|
OCVContext *ocv = ctx->priv;
|
||||||
|
DilateContext *dilate = ocv->priv;
|
||||||
|
cvErode(inimg, outimg, dilate->kernel, dilate->nb_iterations);
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const char *name;
|
const char *name;
|
||||||
size_t priv_size;
|
size_t priv_size;
|
||||||
@ -301,6 +308,7 @@ typedef struct {
|
|||||||
|
|
||||||
static OCVFilterEntry ocv_filter_entries[] = {
|
static OCVFilterEntry ocv_filter_entries[] = {
|
||||||
{ "dilate", sizeof(DilateContext), dilate_init, dilate_uninit, dilate_end_frame_filter },
|
{ "dilate", sizeof(DilateContext), dilate_init, dilate_uninit, dilate_end_frame_filter },
|
||||||
|
{ "erode", sizeof(DilateContext), dilate_init, dilate_uninit, erode_end_frame_filter },
|
||||||
{ "smooth", sizeof(SmoothContext), smooth_init, NULL, smooth_end_frame_filter },
|
{ "smooth", sizeof(SmoothContext), smooth_init, NULL, smooth_end_frame_filter },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user