Originally committed as revision 26097 to svn://svn.ffmpeg.org/ffmpeg/trunktags/n0.8
| @@ -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 }, | ||||
| }; | }; | ||||