转自: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. MongoDB水平分片集群(转)

    为何需要水平分片 1 减少单机请求数,将单机负载,提高总负载 2 减少单机的存储空间,提高总存空间. 下图一目了然: mongodb sharding 服务器架构 简单注解: 1 mongos 路由进 ...

  2. Java正确获取客户端真实IP方法整理

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...

  3. Kali安装OCI8 for metasploit Oracle login

    ps:安装了好久,最好才发现很简单,步骤记录下吧 遇到oracle爆破登录的时候OCI8报错,如下图 安装oracle 前面关于oracle client的安装就看官方文档吧 http://dev.m ...

  4. visual studio 2010 c++ 打印 Hello world

    由于好奇心驱使温习下c高级简化语言语言(个人解释可能不太准确).下面用visual studio 2010 实现 HelloWord 打印 第一步:visual studio 2010 打开.文件-- ...

  5. python 基础 5.4 类的私有属性和私有方法

    一. 类的私有变量和私有方法 1>   在python 中可以通过在属性变量名前,加上双下划线定义属性为私有属性   2>特殊变量命名 a. _xx 以单下划线开头的表示的是protect ...

  6. 【BZOJ4966】总统选举 线段树+随机化

    [BZOJ4966]总统选举 Description 黑恶势力的反攻计划被小C成功摧毁,黑恶势力只好投降.秋之国的人民解放了,举国欢庆.此时,原秋之国总统因没能守护好国土,申请辞职,并请秋之国人民的大 ...

  7. EasyNVR H5无插件摄像机直播解决方案前端解析之:videojs初始化的一些样式处理

    初始化完成对videojs样式的调整 由于不同项目的需要,对于加载出来的videojs播放器样式也有不同的需求:我们需要自主的处理一下加载出来的videojs播放器的样式: 默认加载出来的会包含有暂停 ...

  8. wimdows安装mongodb,开机启动

    > d: > cd D:\Program Files\MongoDB\Server\3.0\bin > .\mongod --logpath "D:\Program Fil ...

  9. d3 - bar chart

    用 D3.js 做一个简单的柱形图. 做柱形图有很多种方法,比如用 HTML 的 div 标签,或用 svg . 推荐用 SVG 来做各种图形.SVG 意为可缩放矢量图形(Scalable Vecto ...

  10. php操作apache服务器上的ftp

    在此之前,请先在window7上搭建apache-ftp服务器,请查看文章:Windows 上搭建Apache FtpServer test.php <?php set_time_limit(0 ...