学习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
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
相关文章推荐
- OpenCV函数学习:cvRound,cvFloor,cvCeil
- 图像混合学习。运用加权函数,学习opencv基础操作
- OpenCV 函数学习笔记
- 计算机视觉与图像处理学习笔记(三)opencv的基本数据类型与简单图像处理函数
- 学习opencv-------函数使用一
- 【OpenCV学习笔记】【函数学习】五(颜色空间转换cvCvtColor()函数)
- opencv学习: 模板匹配函数matchTemplate
- opencv学习笔记第五章:基于形态学运算的图像变换(1)形态学运算进行腐蚀和膨胀
- opencv学习(四)头文件申明/main函数格式定义/程序(变量)命名规则/printf函数
- opencv3学习之addWeight()函数
- 【OpenCV学习笔记】【函数学习】十五(批量读入图片)
- 第五章函数—5.1.3讲学习笔记
- 学习opencv(2)---opencv中C风格和C++风格函数区别
- opencv中的画图函数转载学习
- 【OpenCV学习笔记】【函数学习】七(改变图像尺寸)
- OpenCV学习二十四:基于直方图的图片相似度计算函数 compareHist
- 【学习OpenCV】矩阵操作的函数
- 学习OpenCV——BOW特征提取函数(特征点篇)
- opencv学习心得(三)——opencv中经常用的的函数解释
- OpenCV学习(6)--opencv中测量运行时间的函数