社区
图形处理/算法
帖子详情
腐蚀 图像处理
liuyan20062010
2011-08-04 09:05:40
请帮我解释一下 腐蚀 膨胀 是什么意思 我看了好久了 老是领会不了
举个简单的例子就更好了
谢谢各位
...全文
697
14
打赏
收藏
腐蚀 图像处理
请帮我解释一下 腐蚀 膨胀 是什么意思 我看了好久了 老是领会不了 举个简单的例子就更好了 谢谢各位
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windinclouds
2012-04-11
打赏
举报
回复
正在学习opencv
wyp3pyw
2011-10-05
打赏
举报
回复
学习,5也不会
zhoujk
2011-08-29
打赏
举报
回复
1
[Quote=引用 1 楼 ndy_w 的回复:]
都是操作二值图。腐蚀就是把邻接黑点不够多的黑点变白;膨胀就是把邻接黑点够多的白点变黑。
腐蚀可以把独立的干扰黑点去掉,膨胀可以把邻近的黑点连起来。
腐蚀会导致轮廓变小;膨胀会导致变大。因此一般是先腐蚀再膨胀,可以去掉独立的干扰黑点;或先膨胀再腐蚀,可以将断开一点点的黑线连起来之类。
如果干扰的尺度较大,也可以多次腐蚀多次膨胀。
[/Quote]
也可以对灰度图进行类似的操作,消除无用的点和细线。如果消除是暗点和线,就先膨胀再收缩,如果是亮点和线,就先收缩再膨胀
jjj839222
2011-08-23
打赏
举报
回复
学习一下
小卡36
2011-08-23
打赏
举报
回复
2楼真有才 哈哈
timebomb
2011-08-06
打赏
举报
回复
二楼太有才了,哈哈。
不过我这几天也看了一些关于图像处理的一些课件,LZ可以看看xinli的那些课件,介绍的还可以。腐蚀膨胀是基本的二值图的操作,还有两者结合的开操作闭操作。
liuyan20062010
2011-08-05
打赏
举报
回复
谢谢大家
yunbird
2011-08-04
打赏
举报
回复
其中参数osm是腐蚀膨胀模版的阶数,比如3×3的模版,osm = 3
yunbird
2011-08-04
打赏
举报
回复
膨胀:
void Expand(BYTE *p, BYTE *pExpand, int width, int height, int osm, BYTE bitcount)
{
LONG GrayLineSize = (width + 3)/4*4;
int i, j;
int m, n;
int count;
int x = osm*osm;
BYTE *pTemp_1 = p;
BYTE *pTemp_2 = pExpand;
for (i=(osm)/2; i<height-(osm)/2; i++)
{
for (j=(osm)/2; j<width-(osm)/2; j++)
{
pTemp_1 = p + i*GrayLineSize + j;
pTemp_2 = pExpand + i*GrayLineSize + j;
count = 0;
for (m=-(osm)/2; m<=(osm)/2; m++)
{
for (n=-(osm)/2; n<=(osm)/2; n++)
{
if (0 == *(pTemp_1 + m*GrayLineSize + n))
{
if (x == (++count))
{
*pTemp_2 = 0;
}
else
continue;
}
else
{
*pTemp_2 = 255;
break;
}
}
}
}
}
}
yunbird
2011-08-04
打赏
举报
回复
腐蚀:
void Erosion(BYTE *p, BYTE *pErosion, int width, int height, int osm, BYTE bitcount)
{
LONG GrayLineSize = (width + 3)/4*4;
int i, j;
int m, n;
int count;
int x = osm*osm;
BYTE *pTemp_1 = p;
BYTE *pTemp_2 = pErosion;
for (i=(osm)/2; i<height-(osm)/2; i++)
{
for (j=(osm)/2; j<width-(osm)/2; j++)
{
pTemp_1 = p + i*GrayLineSize + j;
pTemp_2 = pErosion + i*GrayLineSize + j;
count = 0;
for (m=-(osm)/2; m<=(osm)/2; m++)
{
int temp = m*GrayLineSize;
for (n=-(osm)/2; n<=(osm)/2; n++)
{
if (255 == *(pTemp_1 + temp + n))
{
if (x == (++count))
{
*pTemp_2 = 255;
}
else
continue;
}
else
{
*pTemp_2 = 0;
break;
}
}
}
}
}
}
laviewpbt
2011-08-04
打赏
举报
回复
腐蚀和膨胀 只是 PS 中 最大值 和最小值滤镜 在二值图像中的特例。
贾囧雷
2011-08-04
打赏
举报
回复
把馒头泡水里,过一段时间之后在看,这就叫膨胀
把馒头放到有一群鱼的水里,你盯着馒头看,就知道啥叫腐蚀了
ndy_w
2011-08-04
打赏
举报
回复
都是操作二值图。腐蚀就是把邻接黑点不够多的黑点变白;膨胀就是把邻接黑点够多的白点变黑。
腐蚀可以把独立的干扰黑点去掉,膨胀可以把邻近的黑点连起来。
腐蚀会导致轮廓变小;膨胀会导致变大。因此一般是先腐蚀再膨胀,可以去掉独立的干扰黑点;或先膨胀再腐蚀,可以将断开一点点的黑线连起来之类。
如果干扰的尺度较大,也可以多次腐蚀多次膨胀。
fengbingchun
2011-08-04
打赏
举报
回复
膨胀是指将一些图像与核进行卷积
膨胀扩展区域,腐蚀缩小区域
图像
腐蚀
和图像膨胀Matlab代码
该代码首先实现了图像的
腐蚀
处理和图像的膨胀处理。然后,经过先
腐蚀
(Erosion)处理,后膨胀(Dilation)处理得到了Opening Image;又经过先膨胀(Dilation)处理,后
腐蚀
(Erosion)处理得到了Closing Image。 程序执行后...
《数字
图像处理
》冈萨雷斯 第三版part1(共1-3部分)
数字
图像处理
方面的经典教材,中文译本 阮秋琦,阮宇智等译 本书是把
图像处理
基础理论论述与软件实践方法相结合的第一本书,它集成了冈萨雷斯和伍兹所著的《数字
图像处理
》一书中的重要内容和MathWorks公司的图像...
【C++】OpenCV图像的膨胀与
腐蚀
示例程序 by浅墨
博文《【OpenCV入门教程之十】 形态学
图像处理
(一): 膨胀与
腐蚀
》的配套详细注释源代码。 博文链接: http://blog.csdn.net/poem_qianmo/article/details/23710721 1.已将dll打包到Release文件夹下,运行Release...
图像处理
之图像
腐蚀
图像A用卷积模板B来进行
腐蚀
处理,通过模板B与图像A进行卷积计算,得出B覆盖区域的像素点最小值,并用这个最小值来替代参考点的像素值。如图所示,将左边的原始图像A
腐蚀
处理为右边的效果图A-B。
腐蚀
的方法是,拿B
数字
图像处理
之形态学操作——
腐蚀
一提到
图像处理
,想必大家都会马上联想到阈值处理、
腐蚀
、膨胀、开闭运算等等
图像处理
中的常规操作。工作之后如果从事
图像处理
相关的工作,无论你用啥样的开发平台(Halcon、OpenCV、MATLAB等),这些基础的操作每天...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章