形态学处理
来源:互联网 发布:bim是什么软件 编辑:程序博客网 时间:2024/05/05 06:42
opencv形态学变换
记录一下cvCreateStructuringElementEx()和cvMorphologyEx()两个函数
1、cvCreateStructuringElementEx()该函数创建结构元素
1)函数原型:
IplConvKernel* cvCreateStructuringElementEx( int cols, int rows, int anchor_x, int anchor_y,
int shape, int* values=NULL );
2)参数说明
cols :结构元素的列数目
rows :结构元素的行数目
anchor_x :锚点的相对水平偏移量
anchor_y :锚点的相对垂直偏移量
shape :结构元素的形状,可以是下列值:
CV_SHAPE_RECT, 长方形元素;
CV_SHAPE_CROSS, 交错元素 a cross-shaped element;
CV_SHAPE_ELLIPSE, 椭圆元素;
CV_SHAPE_CUSTOM, 用户自定义元素。这种情况下参数 values 定义了 mask,即象素的那个邻域必须考虑。
values 指向结构元素的指针,它是一个平面数组,表示对元素矩阵逐行扫描。(非零点表示该点属于结构元)。如果指针为空,则表示平面数组中的所有元素都是非零的,即结构元是一个长方形(该参数仅仅当shape参数是 CV_SHAPE_CUSTOM 时才予以考虑)。
函数 cv CreateStructuringElementEx 分配和填充结构 IplConvKernel, 它可作为形态操作中的结构元素。
例:CV_SHAPE_CUSTOM,理论上应该是
int mask[9] = {1, 0, 0, 1, 1, 0, 1, 1, 1};
IplConvKernel* strel = cvCreateStructuringElementEx( 3, 3, 0, 2, CV_SHAPE_CUSTOM, mask );
2、cvMorphologyEx()该函数实现高级形态学变换。
1)函数原型:
void cvMorphologyEx( const CvArr* src, CvArr* dst, CvArr* temp,IplConvKernel* element, int operation, int iterations=1 );
2)参数说明:
src 输入图像.
dst 输出图像.
temp 临时图像,某些情况下需要
element 结构元素
operation 形态操作的类型: CV_MOP_OPEN - 开运算 CV_MOP_CLOSE - 闭运算 CV_MOP_GRADIENT - 形态梯度
CV_MOP_TOPHAT - "顶帽" CV_MOP_BLACKHAT - "黑帽"
iterations 膨胀和腐蚀次数.
函数 cvMorphologyEx 在膨胀和腐蚀基本操作的基础上,完成一些高级的形态变换:
开运算:dst=open(src,element)=dilate(erode(src,element),element)
闭运算:dst=close(src,element)=erode(dilate(src,element),element)
形态梯度:dst=morph_grad(src,element)=dilate(src,element)-erode(src,element)
"顶帽":dst=tophat(src,element)=src-open(src,element)
"黑帽":dst=blackhat(src,element)=close(src,element)-src
临时图像 temp 在形态梯度以及对“顶帽”和“黑帽”操作时的 in-place 模式下需要。
3、例子
IplConvKernel *element=cvCreateStructuringElementEx(3,1,0.5,0.5,CV_SHAPE_RECT,0);
cvMorphologyEx( src, dst, NULL,element, CV_MOP_CLOSE, 8);
- 形态学处理
- 形态学处理
- 形态学处理
- 形态学处理
- 形态学处理
- OPENCV之形态学处理
- 形态学图像处理
- 形态学图像处理
- 形态学图像处理
- 数字图像处理中的形态学
- 形态学图像处理
- 形态学处理方法总结
- opencv形态学处理
- 图像的形态学处理
- matlab 形态学处理
- 形态学的图像处理
- 数字图像处理中的形态学
- openCV 形态学图像处理
- Servlet Listener 实例
- C# Setting.settings
- linux THIS_MODULE 的含义
- RTNETLINK answers: File exists错误解决方法
- 使用Eclipse构建Maven的SpringMVC项目
- 形态学处理
- Linux命令学习手册-rsync命令
- 怎样和远程的测试服务器交换文件?
- MFC中获取窗口句柄及相关函数
- Python核心编程第十二章笔记
- 慎用mysql的enum字段
- hibernate 缓存清除
- poj 1250 Tanning Salon(模拟)
- 有一些题的讨论。有信心的请入