MATLAB imopen 开运算 是啥意思 有啥用,求大神解答啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB imopen 开运算 是啥意思 有啥用,求大神解答啊相关的知识,希望对你有一定的参考价值。
开运算属于形态学图像处理,先腐蚀后膨胀。作用:可以使边界平滑,消除细小的尖刺,断开窄小的连接,保持面积大小不变。
开运算数学上是先腐蚀后膨胀的结果,开运算的结果为完全删除了不能包含结构元素的对象区域,平滑了对象的轮廓,断开了狭窄的连接,去掉了细小的突出部分。闭运算在数学上是先膨胀再腐蚀的结果,闭运算的结果也是会平滑对象的轮廓,但是与开运算不同的是,闭运算一般会将狭窄的缺口连接起来形成细长的弯口,并填充比结构元素小的洞。
实现形态学开闭和闭开运算的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
参考技术A 开运算属于形态学图像处理,是先腐蚀后膨胀,作用是:可以使边界平滑,消除细小的尖刺,断开窄小的连接,保持面积大小不变等。引用格式:
a=imread('104.tif');
b=strel('square',2);
c=imopen(a,b);本回答被提问者采纳
MATLAB中的@运算符是啥?
【中文标题】MATLAB中的@运算符是啥?【英文标题】:What is the @ operator in MATLAB?MATLAB中的@运算符是什么? 【发布时间】:2011-01-07 05:17:22 【问题描述】:我以前只使用过 MATLAB 6.5。我有一些使用'@'的程序。谁能告诉我这是什么?
顺便问一下,MATLAB 6.5 支持这个运算符吗?
【问题讨论】:
【参考方案1】:@ 运算符创建一个函数句柄,它允许您像变量一样轻松创建和传递函数调用。它有许多不错的功能,不幸的是,您没有一个可用。这是因为正如您所怀疑的,它直到版本 7 才被引入 matlab,即紧随您之后的版本。
【讨论】:
【参考方案2】:它曾经在Matlab中声明Anonymous Functions。
我认为术语是“Function Handle”。
实际上它涵盖了 Matlab 无法在任何 M 文件的任何位置声明函数。
您可能会在这里看到它: What is your favourite MATLAB/Octave programming trick?
我发现它与“blockproc”命令一起在图像处理中很有用。
【讨论】:
实际上,它被称为函数句柄(不是处理程序),使用类似的命名约定,因为图形对象也有“句柄”。【参考方案3】:文档说它是function handle。
【讨论】:
以上是关于MATLAB imopen 开运算 是啥意思 有啥用,求大神解答啊的主要内容,如果未能解决你的问题,请参考以下文章
运行matlab时出现这个错误。是啥意思Error: Missing operator, comma, or semicolon.