转自:http://blog.sina.com.cn/s/blog_b1cd5d330101pmwi.html

strel——structuring element 运用各种形状和大小构造元素,基本语法为

SE = strel(shape, parameters)

shape 是指定希望形状的字符串,parameters 是指定形状信息的一系列参数

SE = strel('arbitrary', NHOOD)

创建一个任意形状的结构元素,NHOOD是由0和1组成的矩阵,用于指定形状可以用se=strel(NHOOD)简化

SE = strel('arbitrary', NHOOD, HEIGHT)

HEIGHT是一个与NHOOD同样大小的矩阵,包含与相关的NHOOD中非零元素的高度值

SE = strel('ball', R, H, N)

creates a nonflat, ball-shaped structuring element (actually an ellipsoid) whose radius in the X-Y plane is R and whose height is H.

When N is greater than 0, the ball-shaped structuring element is approximated by a sequence of N nonflat, line-shaped structuring elements. When N equals 0, no approximation is used, and the structuring element members consist of all pixels whose centers are
no greater than R away from the origin.

SE = strel('diamond', R)

创建一个平坦的菱形结构元素,R是从结构元素原点到菱形最远的距离

SE = strel('disk', R, N)

创建一个平坦的圆形结构元素,半径为R。

N必须是0,4,6 或8。当N比0大时,圆形结构元素被N个周期线型( periodic-line )结构元素序列近似,当N等于0时,没有近似,结构元素包含所有的小于从原点到R的像素。

se=strel('disk',5,0)

     0     0     0     0     0     1     0     0     0     0     0

     0     0     1     1     1     1     1     1     1     0     0

     0     1     1     1     1     1     1     1     1     1     0

     0     1     1     1     1     1     1     1     1     1     0

     0     1     1     1     1     1     1     1     1     1     0

     1     1     1     1     1     1     1     1     1     1     1

     0     1     1     1     1     1     1     1     1     1     0

     0     1     1     1     1     1     1     1     1     1     0

     0     1     1     1     1     1     1     1     1     1     0

     0     0     1     1     1     1     1     1     1     0     0

     0     0     0     0     0     1     0     0     0     0     0





 se=strel('disk',5,4)

     0     0     1     1     1     1     1     0     0

     0     1     1     1     1     1     1     1     0

     1     1     1     1     1     1     1     1     1

     1     1     1     1     1     1     1     1     1

     1     1     1     1     1     1     1     1     1

     1     1     1     1     1     1     1     1     1

     1     1     1     1     1     1     1     1     1

     0     1     1     1     1     1     1     1     0

     0     0     1     1     1     1     1     0     0





SE = strel('line', LEN, DEG)

创建一个平坦的线型结构,LEN长度,DEG角度

SE = strel('octagon', R)

创建一个平坦的八边形结构元素,R是从结构元素原点到八边形边的距离,沿水平轴和垂直轴的度量,R必须是3的非负倍数

SE = strel('pair', OFFSET)

创建一个包含两个成员的平坦结构元素,一个成员在原点,另一个成员由向量OFFSET表示,该向量必须是一个两元素的整数向量

SE = strel('periodicline', P, V)

创建一个包含有2*P+1个成员的平坦元素,其中V是一个两元素向量,它包含有整数值的行和列的偏移,一个元素在原点,另一个位于

1*V, -1*V, 2*V, -2*V, ..., P*V, -P*V.

se=strel('periodicline',2,[1 -2])

    0     0     0     0     0     0     0     0     1

     0     0     0     0     0     0     1     0     0

     0     0     0     0     1     0     0     0     0

     0     0     1     0     0     0     0     0     0

     1     0     0     0     0     0     0     0     0





SE = strel('rectangle', MN)

创建一个平坦的矩形结构,MN指定大小





SE = strel('square', W)

创建一个方形的结构元素,边长为N个像素





------------------------------------------------------

Matlab中函数strel在操作结构元素应用,用于膨胀腐蚀及开闭运算等操作的结构元素对象

具体用法:SE = strel(shape,parameters)

创建由指定形状shape对应的结构元素。其中shape的种类有

arbitrary'

'pair'

'diamond'

'periodicline'

'disk'

'rectangle'

'line'

'square'

'octagon

参数parameters一般控制SE的大小。





实验现象:

SE = strel('diamond', 3)

 

SE =

 

Flat STREL object containing 25 neighbors.

Decomposition: 3 STREL objects containing a total of 13 neighbors





Neighborhood:

     0     0     0     1     0     0     0

     0     0     1     1     1     0     0

     0     1     1     1     1     1     0

     1     1     1     1     1     1     1

     0     1     1     1     1     1     0

     0     0     1     1     1     0     0

     0     0     0     1     0     0     0





 

>> se1 = strel('square',6)

 

se1 =

 

Flat STREL object containing 36 neighbors.

Decomposition: 2 STREL objects containing a total of 12 neighbors





Neighborhood:

     1     1     1     1     1     1

     1     1     1     1     1     1

     1     1     1     1     1     1

     1     1     1     1     1     1

     1     1     1     1     1     1

     1     1     1     1     1     1





 

>> se2 = strel('line',10,45)

 

se2 =

 

Flat STREL object containing 7 neighbors.





Neighborhood:

     0     0     0     0     0     0     1

     0     0     0     0     0     1     0

     0     0     0     0     1     0     0

     0     0     0     1     0     0     0

     0     0     1     0     0     0     0

     0     1     0     0     0     0     0

     1     0     0     0     0     0     0

matlab形态学图像处理之strel函数的更多相关文章

  1. 使用MATLAB对图像处理的几种方法(下)

     试验报告 一.试验原理: 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对 ...

  2. 使用MATLAB对图像处理的几种方法(上)

    实验一图像的滤波处理 一.实验目的 使用MATLAB处理图像,掌握均值滤波器和加权均值滤波器的使用,对比两种滤波器对图像处理结果及系统自带函数和自定义函数性能的比较,体会不同大小的掩模对图像细节的影响 ...

  3. matlab中图像处理常见用法

    一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:/w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2. imwrite i ...

  4. Matlab计算机视觉/图像处理工具箱推荐

    Matlab计算机视觉/图像处理工具箱推荐 转载http://cvnote.info/matlab-cv-ip-toolbox/ 计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理 ...

  5. 学习 opencv---(10)形态学图像处理(2):开运算,闭运算,形态学梯度,顶帽,黒帽合辑

    上篇文章中,我们重点了解了腐蚀和膨胀这两种最基本的形态学操作,而运用这两个基本操作,我们可以实现更高级的形态学变换. 所以,本文的主角是OpenCV中的morphologyEx函数,它利用基本的膨胀和 ...

  6. matlab 对图像操作的函数概览

    转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...

  7. 【OpenCV新手教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/23184547 作者:毛星云(浅墨) ...

  8. MATLAB 图形图像处理

    theme: MATLAB author: pprp date: 2018/2/2 --- MATLAB 图形图像处理 二维绘图命令 plot 线性空间 plot(t,[x1,x2,x3]) : 在同 ...

  9. MATLAB数字图像处理(二)图像增强

    1         图像增强 1.1            直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: I2=histeq(I1); ...

随机推荐

  1. cacti 安装和组件添加

    安装cacti 步骤 1.准备lamp环境 2.准备所需包:rrdtool(绘图) cacti(安装程序) net-snmpd(数据收集) 3.安装所需库文件 rrdtool所需库文件有: cairo ...

  2. JavaScript系列问题

    JavaScript系列问题:  0.javascript 基础教程[温故而知新一] 1.通过JS变更页面字体的大小 2.图片压缩优化能有效提高网站浏览速度

  3. python 基础 1.3 使用pycharm给python传递参数及pycharm调试模式

    一.通过pycharm 给python传递函数 1. 在pycharm终端中写入要获取的参数,进行获取 1>启动pycharm 中Terminal(终端) 窗口 点击pycharm左下角的图标, ...

  4. EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的

    EasyNVR提供快照预览功能,并且提供向EasyDSS云平台上传快照的功能 EasyNVR会定时向配置的摄像机抓取快照数据,保存图片用于预览,并且用于快照上传 原理 将从摄像机取出来的I帧数据编码成 ...

  5. 用Darwin和live555实现的直播框架

    我们在开发视频直播或者监控类项目的时候,如场馆监控.学校监控.车载监控等等,往往首先希望的是形成一个项目的雏形,然后再在这个框架的基础上进行不断的完善和扩展工作,那么我们今天要给大家介绍的就是,如何形 ...

  6. 如果数据需要被多个应用程序消费的话,推荐使用 Kafka,如果数据只是面向 Hadoop 的,可以使用 Flume

    https://www.ibm.com/developerworks/cn/opensource/os-cn-kafka/index.html Kafka 与 Flume 很多功能确实是重复的.以下是 ...

  7. 全能,OnSize的使用,部分覆盖后重画,都没有问题

    import wx class View(wx.Panel): def __init__(self, parent): super(View, self).__init__(parent) self. ...

  8. BCH分叉是一次站队博弈

    BCH分叉在即,很多人说BCH本次分叉实质是大佬间的斗争,主要是本次BCH分叉主要分为两大派别: 一派以BCH用户量最大的客户端Bitcoin ABC开发组为主,要在11月15日展开硬分叉升级,主要升 ...

  9. SPDIF接口细则详解

    链接:https://max.book118.com/html/2017/0422/101658483.shtm

  10. JDBC超时原理与设置

    抄录自网上,因为担心以后找不到,因此抄录之.感谢分享的大神! 英文原版:http://www.cubrid.org/blog/dev-platform/understanding-jdbc-inter ...