CVAPI(void) cvSmooth( const CvArr* src, CvArr* dst, int smoothtype CV_DEFAULT(CV_GAUSSIAN), int size1 CV_DEFAULT(3), int size2 CV_DEFAULT(0), double sigma1 CV_DEFAULT(0), double sigma2 CV_DEFAULT(0)) //
smoothtype值可为
CV_BLUR //均值滤波 size1 * size2
CV_BLUR_NO_SCALE //求和 size1 * size2
CV_MEDIAN //中值滤波 size1 * size2
CV_GAUSSIAN //高斯滤波 size1 * size2 . sigma1, sigma2 表示水平方向和垂直方向
CV_BILATERAL //双边滤波(只对彩色图像 , 能较好的保留边缘). size1 * size2 大小的核 , , sigma1表示空域sigma(高斯) , ,sigma2表示强度sigma
//原理可参见:http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html
CVAPI(void) cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element CV_DEFAULT(NULL), int iterations CV_DEFAULT(1) ) //膨胀.
核的自定义
CVAPI(IplConvKernel*) cvCreateStructuringElementEx( int cols, int rows, int anchor_x, int anchor_y, int shape, int* values CV_DEFAULT(NULL) ) //核的大小cols * rows ,核的参考点为(anchor_x ,anchor_y) , shape为形状, values 指针为指向填充核的数据区(当且仅当shape为CV_SHAPE_CUSTOM时起作用 ,若values为NULL, 则填充的核全为非0值
shape参数为:
CV_SHAPE_RECT //矩形
CV_SHAPE_CROSS //十字形
CV_SHAPE_ELLIPSE //内接椭圆,(内部填充为1)
CV_SHAPE_CUSTOM //自定义型,此时val必须为有效值,不能为NULL
int *values只在CV_SHAPE_CUSTOM时起作用
CVAPI(void) cvReleaseStructuringElement( IplConvKernel** element ) //释放
operator可为:
CV_MOP_OPEN
CV_MOP_CLOSE
CV_MOP_GRADIENT
CV_MOP_TOPHAT
CV_MOP_BLACKHAT