“MATLAB imopen 开运算”是什么意思?有什么用?

“MATLAB imopen 开运算”是什么意思?有什么用?,第1张

开运算属于形态学图像处理,先腐蚀后膨胀。作用:可以使边界平滑,消除细小的尖刺,断开窄小的连接,保持面积大小不变。

开运算数学上是先腐蚀后膨胀的结果,开运算的结果为完全删除了不能包含结构元素的对象区域,平滑了对象的轮廓,断开了狭窄的连接,去掉了细小的突出部分。闭运算在数学上是先膨胀再腐蚀的结果,闭运算的结果也是会平滑对象的轮廓,但是与开运算不同的是,闭运算一般会将狭窄的缺口连接起来形成细长的弯口,并填充比结构元素小的洞。

实现形态学开闭和闭开运算的matlab程序:

i=imread('image.jpg')

i1=rgb2gray(i)转灰度图像

i2=im2bw(i1)   二值化

i3 = bwmorph(i2,'close') 闭运算

imshow(i3)

i4 = bwmorph(i2,'open') 开运算

figure, imshow(i4)

bwmorph还支持类似bothat tophat th

matlab中的有关函数能兼容地处理二值图与灰度图,因此从代码上看没有区别。

有关函数的实例如下:

% IM = ... % 输入图像,可以是二值或灰度图

SE = strel('ball', 5) % 生成结构元素

IM2 = imdilate(IM,SE) % 膨胀

IM2 = imerode(IM,SE) % 腐蚀

IM2 = imclose(IM,SE) % 闭运算

IM2 = imopen(IM,SE) % 开运算

i=imread('image.jpg')

i1=rgb2gray(i)转灰度图像

i2=im2bw(i1) 二值化

i3 = bwmorph(i2,'close') 闭运算

imshow(i3)

i4 = bwmorph(i2,'open') 开运算

figure, imshow(i4)

bwmorph还支持类似bothat tophat thin等 *** 作 个体看下help参数说明

前提条件是传入的图像应该是二值后的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8017508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存