您的位置:首页 > 运维架构

学习opencv第五章 函数(1)

2011-08-22 09:57 399 查看
平滑处理函数:

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) cvErode( const CvArr* src, CvArr* dst, IplConvKernel* element CV_DEFAULT(NULL), int iterations CV_DEFAULT(1) )// 腐蚀.element为核默认为3*3,iterations为迭代次数

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 ) //释放

更通用的形态学处理(开运算,闭运算,

CVAPI(void) cvMorphologyEx( const CvArr* src, CvArr* dst, CvArr* temp, IplConvKernel* element, int operation, int iterations CV_DEFAULT(1) )//element为核,operator为操作方法,iterators为迭代次数 ,term不知道

operator可为:

CV_MOP_OPEN

CV_MOP_CLOSE

CV_MOP_GRADIENT

CV_MOP_TOPHAT

CV_MOP_BLACKHAT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: