形态学之开运算

形态学之开运算,第1张

  开运算进行的操作是先将图像腐蚀,再对腐蚀的结果进行膨胀。开运算可以用于去噪、计数等。

  例如,在图8-14中,通过先腐蚀后膨胀的开运算操作实现了去噪,其中:

从图8-14中可以看到,原始图像在经过腐蚀、膨胀后实现了去噪的目的。

  除此以外,开运算还可以用于计数。例如,在对图8-15中的区域进行计数前,可以利用开运算将连接在一起的不同区域划分开,其中:

通过将函数cv2.morphologyEx()中操作类型参数op设置为“cv2.MORPH_OPEN”,可以实现开运算。其语法结构如下:

【例8.7】使用函数cv2.morphologyEx()实现开运算。

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

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

实现形态学开闭和闭开运算的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

开方的计算步骤:

1、将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开(竖式中的11’56),分成几段,表示所求平方根是几位数

2、根据左边第一段里的数,求得平方根的最高位上的数(竖式中的3);

3、从第一段的数减去最高位上数的平方,在它们的差的右边写上第二段数组成第一个余数(竖式中的256);

4、把求得的最高位数乘以2去试除第一个余数,所得的最大整数作为试商(2×30除256,所得的最大整数是 4,即试商是4);

5、用商的最高位数的2倍加上这个试商再乘以试商.如果所得的积小于或等于余数,试商就是平方根的第二位数;如果所得的积大于余数,就把试商减小再试(竖式中(2×30+4)×4=256,说明试商4就是平方根的第二位数);

6、用同样的方法,继续求平方根的其他各位上的数.

扩展资料:

牛顿迭代法:

上述笔算开方方法是我们大多数人上学时课本附录给出的方法,实际中运算中太麻烦了。可以采取下面办法:

比如136161这个数字,首先找到一个和136161的平方根比较接近的数,任选一个,比方说300到400间的任何一个数,这里选350,作为代表。先计算0.5(350+136161/350),结果为369.5。

再计算0.5(369.5+136161/369.5)得到369.0003,发现369.5和369.0003相差无几,并且369²末尾数字为1。有理由断定369²=136161。

一般来说,能够开方开的尽的,用上述方法算一两次基本结果就出来了。再举个例子:计算

首先发现600²<469225<700²,可以挑选650作为第一次计算的数。即算0.5(650+469225/650)得到685.9。而685附近只有685²末尾数字是5,因此685²=469225。从而

对于那些开方开不尽的数,用这种方法算两三次精度就很可观了,一般达到小数点后好几位。实际中这种算法也是计算机用于开方的算法。

参考资料来源:百度百科-开平方运算


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/615.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存