转自: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. mysqldump导入导出数据库总结

    mysqldump导入导出数据库总结 基本的使用方法总结: 1 导出所有库 系统命令行 mysqldump -uusername -ppassword --all-databases > all ...

  2. Java知识点梳理——常用方法总结

    1.查找字符串最后一次出现的位置 String str = "my name is zzw"; int lastIndex = str.lastIndexOf("zzw& ...

  3. VS2012,VS2013启用SQLite的Data Provider界面显示

    VS2012,VS2013启用SQLite的Data Provider界面显示 VS 2012默认是不带的SQLite的Data Provider,所以无法直接在VS 2012里管理SQLite的数据 ...

  4. tps 与 事务平均响应时间关系对答(转)

    问者:每秒处理的事务数和事务的平均响应时间 怎么个关系,有关系吗 kaku21:举个例子:一个高速路 有10个入口,每个入口每秒钟只能进1辆车,请问1秒钟最多能进几辆车?? 问者:10 kaku21: ...

  5. 【BZOJ3796】Mushroom追妹纸 二分+hash

    [BZOJ3796]Mushroom追妹纸 Description Mushroom最近看上了一个漂亮妹纸.他选择一种非常经典的手段来表达自己的心意——写情书.考虑到自己的表达能力,Mushroom决 ...

  6. EasyPlayer RTSP播放器对RTSP播放地址url的通用兼容修改意见

    问题反馈 最近在线上遇到一位老朋友咨询关于EasyPlayer播放器的事情,大概现象就是分别用EasyPlayer和vlc播放大华摄像机的RTSP流,流地址是:rtsp://admin:admin12 ...

  7. 我的Java开发学习之旅------>使用循环递归算法把数组里数据数组合全部列出

    面试题如下:把一个数组里的数组合全部列出,比如1和2列出来为1,2,12,21. (面试题出自<Java程序员面试宝典>) 代码如下: import java.util.Arrays; i ...

  8. Nginx + Tomcat 应用证书启用 SSL

    第一部分 简述 - 附:相关概念 1 Nginx 是什么? - 2 Tomcat 是什么? - 3 SSL 是什么? Secure Sockets Layer,现在应该叫"TLS" ...

  9. Android系统文件目录

  10. smokeping再次部署遇到的问题记录

    问题1: Can't locate Sys/Syslog.pm in @INC (@INC contains: /opt/smokeping_workspace/thirdparty/lib/perl ...