找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2807|回复: 0
收起左侧

基于MATLAB Simulink的机器视觉与图像处理实验

[复制链接]
ID:654171 发表于 2020-6-9 11:01 | 显示全部楼层 |阅读模式
  • 实验目的

1.熟悉基于Simulink的图像处理模块;

2.掌握二值形态学的基础运算;

3.掌握二值图像的形态学处理;

4.掌握灰度形态学的基础运算;

5.掌握灰度图像的形态学处理。

  • 实验环境和器材:

1.笔记本电脑;

2.MATLAB软件;

  • 实验内容

1.二值图像膨胀腐蚀开闭运算;

2.二值图像形态学滤波;

3.二值图像形态学平滑边界提取;

4.灰度图像膨胀腐蚀开闭运算;

5.灰度图像形态学平滑提取边界;

6.Top-hat变换和Bottom-hat变换;

  • 实验过程

1.二值图像膨胀腐蚀开闭运算;

(1)二值图像膨胀腐蚀运算:

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如下图1、2所示:

图1 “Image From File”模块

图2 “Video Viewer”模块

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块“Erosion”和“Dilation”如下图3、4所示:

图3 “Erosion”模块

图4 “Dilation”模块

“Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如图5所示,“Video Viewer”为输出模块用于显示图像或者视频信号。

图5 设置输入图片

Erosion模块是对一幅灰度图像或二值图像进行形态学腐蚀操作;Dilation模块是对一幅灰度图像或二值图像进行形态学膨胀操作;找到并分别放置三个后,双击该模块设置关键属性,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('square',3)”。如图6所示。
图6 设置关键属性“strel('square',3)”

二值图像膨胀腐蚀运算程序框图如图7所示:

图7 二值图像膨胀腐蚀程序框图

二值图像膨胀腐蚀运算运行结果图如图8、9、10、11、12所示:

图8 原图像
图9 腐蚀图像
图10 腐蚀膨胀图像
图11 膨胀图像
图12 膨胀腐蚀图像

(2)二值图像开闭运算:

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块“Close”和“Open”如下图13、14所示:

图13 “Close”模块

图14 “Open”模块

“Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示。“Video Viewer”为输出模块用于显示图像或者视频信号。

Close模块是对一幅灰度图像或二值图像进行形态学闭操作;Open模块是对一幅灰度图像或二值图像进行形态学开操作;找到并分别放置三个后,双击该模块设置关键属性,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('square',3)”。如下图15所示。

图15 设置关键属性“strel('square',3)”

二值图像开闭运算程序框图如图16所示:

图16 二值图像开闭程序框图

二值图像膨胀腐蚀运算运行结果图如图17、18、19、20、21所示:

图17 原图像
图18 开运算图像
图19 开闭图像
图20 闭开图像
图21 闭运算图像

2.二值图像形态学滤波;

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块 “Open”如上图14所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Conversions”模块内查找所需模块“Image Complement”、“Autothreshold”如下图22、23所示:

图22 “Image Complement”模块

图23 “Autothreshold”模块

“Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示“Video Viewer”为输出模块用于显示图像或者视频信号。

Open模块是对一幅灰度图像或二值图像进行形态学开操作;找到并分别放置两个后,双击该模块设置关键属性,在弹出的设置框中分别更改“Neighborhood or structuring element:”这一项的关键属性为“strel('square',3)”和“strel('line',25,45)”。如上图15和下图24所示。

“Autothreshold”模块的作用是通过自动阈值分割法将灰度图像转换为二值图像,并且每个像素的方差最小。

“Image Complement”模块的作用是将输入图像转换或者同比例缩放为指定类型的图像。

图24 设置关键属性“strel('line',25,45)”









二值图像形态学滤波程序框图如图25所示:

图25 二值图像形态学滤波程序框图

二值图像形态学滤波运行结果如图26、27、28、29、30所示:

图26 原图像

图27 二值图像

图28 二值取反图像

图29 Squre开运算图像

图30 Line开运算图像

3.二值图像形态学平滑边界提取;

(1)二值图像形态学平滑

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块 “Close”和模块“Open”如上图13、14所示。

Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示“Video Viewer”为输出模块用于显示图像或者视频信号。

Open模块是对一幅灰度图像或二值图像进行形态学开操作;找到并分别放置两个后,双击先闭后开的“Open”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',4)”,在双击先开后闭的“Open”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',2)”,如下图31、32所示。

图31 设置关键属性“strel('disk',4)”
图32 设置关键属性“strel('disk',2)”

Close模块是对一幅灰度图像或二值图像进行形态学闭操作;找到并分别放置两个后,双击先闭后开的“Close”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',2)”,在双击先开后闭的“Close”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',4)”,如下图33、34所示。

图33 设置关键属性“strel('disk',2)”

图34 设置关键属性“strel('disk',4)”

二值图像形态学平滑程序框图如图35所示:

图35 二值图像形态学平滑程序框图

二值图像形态学平滑运行结果如图36、37、38所示:


图36 原二值图像

图37 先开后闭图像

图38 先闭后开图像

(2)二值图像形态学边界提取

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块“Erosion”和“Dilation”如上图3、4所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Conversions”模块内查找所需模块“Autothreshold”如上图23所示:

在Simulink工具箱的“Math Operations”模块内查找所需模块“Subtract”如下图39所示:

图39 “Subtract”模块

Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示“Video Viewer”为输出模块用于显示图像或者视频信号。

Erosion模块是对一幅灰度图像或二值图像进行形态学腐蚀操作;Dilation模块是对一幅灰度图像或二值图像进行形态学膨胀操作;找到并分别放置后,双击该模块设置关键属性,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('square',3)”。如上图6所示。

“Autothreshold”模块的作用是通过自动阈值分割法将灰度图像转换为二值图像,并且每个像素的方差最小。

  “Subtract”模块的作用是可进行加减运算;双击该模块在弹出的设置框中首先点击“Signal Attributes”在下面找到“Output data type”然后更改该属性为“double”,如下图40所示。

图40 设置关键属性“double”

二值图像形态学边界提取程序框图如图41所示:

图41 二值图像形态学边界提取程序框图

二值图像形态学边界提取运行结果如图42、43、44、45、46、47所示:

图42 原二值图像

图43 内边界图像

图44 外边界图像

图45 形态学梯度图像

图46 腐蚀图像

图47 膨胀图像

4.灰度图像膨胀腐蚀开闭运算;

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块“Erosion”和“Dilation”如上图3、4所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块 “Close”和模块“Open”如上图13、14所示。

Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示“Video Viewer”为输出模块用于显示图像或者视频信号。

Erosion模块是对一幅灰度图像或二值图像进行形态学腐蚀操作;Dilation模块是对一幅灰度图像或二值图像进行形态学膨胀操作;Close模块是对一幅灰度图像或二值图像进行形态学闭操作;Open模块是对一幅灰度图像或二值图像进行形态学开操作;找到并分别放置后,双击模块设置关键属性,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',3)”。如下图48所示。
图48 设置关键属性“strel('disk',3)”

灰度图像膨胀腐蚀开闭运算程序框图如下图49所示:

图49 灰度图像膨胀腐蚀开闭运算程序框图

灰度图像膨胀腐蚀开闭运算运行结果如图50、51、52、53、54所示:

图50 原灰度图像

图51 开运算图像

图52 腐蚀图像

图53 膨胀图像

图54 闭运算图像

5.灰度图像形态学平滑提取边界;

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块“Erosion”和“Dilation”如上图3、4所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块 “Close”和模块“Open”如上图13、14所示。

在Simulink工具箱的“Math Operations”模块内查找所需模块“Subtract”如上图39所示。

Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示,然后点击“Data Types”栏中在“Output data type”下拉菜单中选择“double”。如下图55所示。“Video Viewer”为输出模块用于显示图像或者视频信号。

图55 设置关键属性“double”

Open模块是对一幅灰度图像或二值图像进行形态学开操作;找到并分别放置两个后,双击开闭平滑滤波的“Open”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',2)”,在双击闭开平滑滤波的“Open”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',3)”,如下图56、57所示。

图56 设置关键属性“strel('disk',2)”
图57 设置关键属性“strel('disk',3)”

Close模块是对一幅灰度图像或二值图像进行形态学闭操作;找到并分别放置两个后,双击开闭平滑滤波的“Close”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',3)”,在双击闭开平滑滤波的“Close”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',2)”,如下图58、59所示。

图58 设置关键属性“strel('disk',3)”

图59 设置关键属性“strel('disk',2)”

“Subtract”模块的作用是可进行加减运算;双击该模块在弹出的设置框中首先点击“Signal Attributes”在下面找到“Output data type”然后更改该属性为“double”,如上图40所示。

灰度图像形态学平滑提取边界程序框图如下图60所示:


图60 灰度图像形态学平滑提取边界程序框图

灰度图像形态学平滑提取边界运行结果如图61、62、63、64、65所示:

图61 原灰度图像
图62 形态学梯度图像
图63 含噪声灰度图像
图64 开闭平滑滤波
图65 闭开平滑滤波

6.Top-hat变换和Bottom-hat变换;

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Sources”模块内查找所需模块“Image From File”,在“Sinks”模块内查找所需模块“Video Viewer”如上图1、2所示。

在“Computer Vision System Toolbox”(计算机视觉工具箱)内的“Morphological Operations”(形态学运算)模块内查找所需模块“Top-hat”和“Bottom-hat”如下图66、67所示。

图66 “Top-hat”模块
图67 “Bottom-hat”模块

在“Computer Vision System Toolbox”(计算机视觉工具箱)的“Analysis & Enhancement”(分析和增强模块)模块内查找所需模块“Contrast Adjustment”如下图68所示:

图68 “Contrast Adjustment”模块

“Image From File”为输入模块,找到并放置后,双击该模块设置关键属性,在弹出的设置框中点击“Main”栏中的“Browse…”设置输入图片,如上图5所示“Video Viewer”为输出模块用于显示图像或者视频信号。

“Top-hat”模块的作用是对一幅灰度图像或二值图像进行形态学高帽操作;“Bottom-hat”模块的作用是对一幅灰度图像或二值图像进行形态学低帽操作;找到并放置后,双击 “Top-hat”和“Bottom-hat”模块设置关键属,在弹出的设置框中更改“Neighborhood or structuring element:”这一项的关键属性为“strel('disk',23)”,如下图69所示。
图69 设置关键属性“strel('disk',23)”

Contrast Adjustment模块的作用是通过线性比例调整像素上下限之间的像素值,实现图像基于灰度级的图像增强。双击该模块设置关键属,在弹出的设置框中更改“Adjust pixel values from:”和“Adjust pixel values to:”的关键属性为“User-defined range”,如下图70所示。

图70 设置关键属性“User-defined range”

Top-hat变换和Bottom-hat变换程序框图如下图71所示:

图71 Top-hat变换和Bottom-hat变换程序框图

Top-hat变换和Bottom-hat变换运行结果如图72、73、74、75、76、77所示:

图72 Bottom-hat图像
图73 Bottom-hat增强图像
图74 Bottom原图像
图75 Top-hat图像
图76 Top-hat增强图像
图77 Top原图像
  • 实验成果:

1、使用数学形态学运算使用Simulink的Computer Vision System Toolbox(计算机视觉工具箱)下的Morphological Operations(形态学运算模块)的Erosion、Dilation、Close、Open模块,完成了二值图像膨胀腐蚀开闭运算,深入理解了二值图像膨胀腐蚀开闭运算的图像处理效果。

2、使用数学形态学运算使用Simulink的Computer Vision System Toolbox(计算机视觉工具箱)下的Morphological Operations(形态学运算模块)的Open模块,完成了二值图像形态学滤波,深入理解了二值图像形态学滤波的图像处理效果。

3、使用数学形态学运算使用Simulink的Computer Vision System Toolbox(计算机视觉工具箱)下的Morphological Operations(形态学运算模块)的Close、Erosion、Dilation模块,完成了二值图像形态学平滑边界提取,深入理解了二值图像形态学平滑边界提取的图像处理效果。

4、使用数学形态学运算使用Simulink的Computer Vision System Toolbox(计算机视觉工具箱)下的Morphological Operations(形态学运算模块)的Erosion、Dilation、Close、Open模块,完成了灰度图像膨胀腐蚀开闭运算,深入理解了灰度图像膨胀腐蚀开闭运算的图像处理效果。

5、使用数学形态学运算使用Simulink的Computer Vision System Toolbox(计算机视觉工具箱)下的Morphological Operations(形态学运算模块)的Erosion、Dilation、Close、Open模块,完成了灰度图像形态学平滑提取边界,深入理解了灰度图像形态学平滑提取边界的图像处理效果。

6、使用数学形态学运算使用Simulink的Computer Vision System Toolbox(计算机视觉工具箱)下的Morphological Operations(形态学运算模块)的Top-hat、Bottom-hat模块,完成了Top-hat变换和Bottom-hat变换,深入理解了Top-hat变换和Bottom-hat变换的图像处理效果。





  • 实验心得:

问题1:在做Top-hat变换和Bottom-hat变换时发现Top-hat图像和Top-hat增强图像没有区别,变化不大。

解决:双击Contrast Adjustment模块设置关键属,在弹出的设置框中更改“Adjust pixel values from:”和“Adjust pixel values to:”的关键属性为“User-defined range”

问题2:在涉及加减的程序中总是运行报错。

解决:双击“Subtract”模块在弹出的设置框中首先点击“Signal Attributes”在下面找到“Output data type”然后更改该属性为“double”。

心得体会:这是本次的第二次实验实训,实验实训中依然需要对平时课上的练习进行反复运用,同时也需要对老师所提出的要求进行完全而深刻的理解。在本次实验实训中,使我对Matlab软件的使用更近了一步,对Simulink库中各模块控件位置也更了解了,所以我认为通过本次的学习,对我以后的Matlab运用会更上一层楼的,在实践中不断积累,反复的学习,这也是老师所要求我们的。

通过本次实验实训,使我了解到了学习不只是在一次一次的视频中,而是在平时课下的反复练习,只有完全知道了解了各个模块中的控件位置、用法,才能知道实验实训的意义。同时也要感谢老师的悉心教导,才使我在本次实验实训过程中,进行的如此顺利。当然我还是需要更加努力,以达到可以将所学运用到实践生活中。


以上的Word格式文档51黑下载地址:

文档.doc (5.11 MB, 下载次数: 14)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表