转自:http://baike.baidu.com/view/4819443.htm

CreateStructuringElementEx

  创建结构元素

  IplConvKernel* cvCreateStructuringElementEx( int cols, int rows, int anchor_x, int anchor_y,

  int shape, int* values=NULL );

  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, 它可作为形态操作中的结构元素。举个例子比较好说清楚

  比如一个图

  00000

  01110

  00000

  用一个cvCreateStructuringElementEx( 3,1,0 0,CV_SHAPE_RECT)的元素来腐蚀,则结果为

  00000

  01000

  00000

  而用一个cvCreateStructuringElementEx( 3,1,1 0,CV_SHAPE_RECT)的元素来腐蚀,则结果为

  00000

  00100

  00000

  理解:cvCreateStructuringElementEx( 3,1,0 0,CV_SHAPE_RECT)中的3,1表示要腐蚀的对象是一个3列1行的矩阵,如果该矩阵里元素全为非零,则将其转化为同样大小只包含一个非零元素,而该非零元素的位置是(0,0)。同理cvCreateStructuringElementEx( 3,1,1 0,CV_SHAPE_RECT)中的3,1表示要腐蚀的对象是一个3列1行的矩阵,如果该矩阵里元素全为非零,则将其转化为同样大小只包含一个非零元素,而该非零元素的位置是(1,0)

  假如用下面这个去腐蚀图像,中心是在右下角1 0 01 1 01 1 1 那么应该怎么表示呢?

  理论上应该是int mask[9] = {1, 0, 0, 1, 1, 0, 1, 1, 1}; IplConvKernel* strel = cvCreateStructuringElementEx( 3, 3, 0, 2, CV_SHAPE_CUSTOM, mask );其中0,2可按自己要求设置。

CreateStructuringElementEx相关推荐

  1. Python-OpenCV 处理图像(五):图像中边界和轮廓检测

    关于边缘检测的基础来自于一个事实,即在边缘部分,像素值出现"跳跃"或者较大的变化.如果在此边缘部分求取一阶导数,就会看到极值的出现. 而在一阶导数为极值的地方,二阶导数为0,基于这 ...

  2. Python-OpenCV 处理图像(二):滤镜和图像运算

    0x01. 滤镜 喜欢自拍的人肯定都知道滤镜了,下面代码尝试使用一些简单的滤镜,包括图片的平滑处理.灰度化.二值化等: import cv2.cv as cvimage=cv.LoadImage('i ...

  3. Python-OpenCV 处理视频(四): 运动检测

    0x00. 平均值法 通过计算两帧图像之间变化了的像素点占的百分比,来确定图像中是否有动作产生. 这里主要用到 Absdiff 函数,比较两帧图像之间有差异的点,当然需要将图像进行一些处理,例如平滑处 ...

  4. Python-OpenCV 处理视频(三)(四)(五): 标记运动轨迹 运动检测 运动方向判断

    0x00. 光流 光流是进行视频中运动对象轨迹标记的一种很常用的方法,在OpenCV中实现光流也很容易. CalcOpticalFlowPyrLK 函数计算一个稀疏特征集的光流,使用金字塔中的迭代 L ...

  5. Python-OpenCV 处理图像(四)(五):图像直方图和反向投影 图像中边界和轮廓检测

    当我们想比较两张图片相似度的时候,可以使用这一节提到的技术 直方图对比 反向投影 关于这两种技术的原理可以参考我上面贴的链接,下面是示例的代码: 0x01. 绘制直方图 import cv2.cv a ...

  6. Python-OpenCV 处理图像(二)(三):滤镜和图像运算 图像像素点操作

    0x01. 滤镜 喜欢自拍的人肯定都知道滤镜了,下面代码尝试使用一些简单的滤镜,包括图片的平滑处理.灰度化.二值化等: import cv2.cv as cvimage=cv.LoadImage('i ...

  7. 基于连通域字符分割的流程_基于OpenCV及连通域分析进行文本块分割

    上一次通过投影的方式进行了文本块分割,但这种方法有很大的局限性,要求分行清晰.不能有字符跨多行.不能倾斜,而且对噪声比较敏感.还是拿上一回的图片,但是我在上面加了一个比较大的字,得出的结果就有问题了: ...

  8. OpenCV中膨胀和腐蚀结构元素的创建

    CreateStructuringElementEx:IplConvKernel* cvCreateStructuringElementEx( int cols, int rows, int anch ...

  9. 有关OPenCV的几个库函数的使用

    转载地址:http://www.cnblogs.com/zsdydl-Neusoft/archive/2012/09/27/2706168.html 1) IplImage* cvCreateImag ...

最新文章

  1. 这可能是十年来最酷的神经科学发现
  2. 【剑指offer-Java版】30最小的K个数
  3. 国家卫健委:我国男女性成人平均身高分别为169.7厘米和158厘米
  4. 易宝典文章——用ISA 2006标准版发布Exchange 2010的OWA系列之申请Excha
  5. eval a string with null_try-with-resources--JAVA成长之路
  6. Linux创建页表内存代码,Linux内存管理的源码实现
  7. 基于FPGA实现IIC接口(EEPROM)
  8. css3过渡缓慢排过去,css3过渡
  9. Wpf 使用x命名空间的ClassModifier
  10. JMeter Exception: java.net.BindException: Address already in use: connect(转)
  11. jQuery用户从服务器端注册登录
  12. 基于SSD目标检测模型的人脸口罩识别
  13. 这是你了解的P2P 么?
  14. 基于FPGA打地鼠游戏的设计与实现
  15. 初中计算机竞赛面试题目及答案,2019上半年初中信息技术教师资格面试真题及答案(第一批)...
  16. sql中将字符串数字转换成数字
  17. matlab 画qq图,科学网—[转载]R语言绘制QQ图 - 刘朋的博文
  18. Map使用对象作key
  19. 芯海科技2022数字芯片笔试题
  20. Allegro导出元器件pad坐标和网络(附带ODB++插件下载)

热门文章

  1. python基础知识整理 第二节:容器(list tuple dict)
  2. face-swap.zip百度网盘下载
  3. Linux那些事儿 之 戏说USB(30)驱动的生命线(二)
  4. 深度学习(1)基础1 -- 深度学习与神经网络基础
  5. Linux gcc 制作动/静态链接库
  6. Open3DGen:从RGB-D图像重建纹理3D模型的开源软件
  7. 如何在ROS中使用PCL—数据格式(1)
  8. LATEX 在section层级目录上也加上虚线
  9. 【Vue版】实现拖拽、排序效果(注意,这个方法在chrome谷歌浏览器上面不适用,dragend会情不自禁触发drag事件先执行,有点像浏览器的一个bug)
  10. ue4商城资源 Nature Cave Cliff 自然洞崖景观场景