社区
机器视觉
帖子详情
腐蚀膨胀的方向性
slshelly
2009-08-10 04:13:43
今天把图像处理的一些算法整理了一下,突然感觉有好多不明白的地方。比如这个膨胀腐蚀,在算法上面有水平方向腐蚀(膨胀),还有垂直方向腐蚀(膨胀),那我在使用的时候应该是调用水平方向还是垂直方向那 ? 图像处理软件eVision上面的膨胀腐蚀就没有选择方向,那它是怎么算的那?请高人指点一下。
...全文
249
9
打赏
收藏
腐蚀膨胀的方向性
今天把图像处理的一些算法整理了一下,突然感觉有好多不明白的地方。比如这个膨胀腐蚀,在算法上面有水平方向腐蚀(膨胀),还有垂直方向腐蚀(膨胀),那我在使用的时候应该是调用水平方向还是垂直方向那 ? 图像处理软件eVision上面的膨胀腐蚀就没有选择方向,那它是怎么算的那?请高人指点一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jtujtujtu
2009-08-11
打赏
举报
回复
同时的吧
试试呢
slshelly
2009-08-11
打赏
举报
回复
那如果要对图像进行腐蚀,是不是先水平再垂直?
sunshengx
2009-08-11
打赏
举报
回复
腐蚀膨胀都是两个方向进行的 因为图像是二维的,
slshelly
2009-08-11
打赏
举报
回复
谢谢
fire_woods
2009-08-11
打赏
举报
回复
还是直接判断周围的8像素就可以了那!
zhongsuquan
2009-08-11
打赏
举报
回复
用水平还是垂直是要根据你的需求来定的,至于没有选择方向的,一般都是用的9点结构来进行水平加垂直方向的形态学运算。比如你要得到一个图形的轮廓,就不能只用水平或垂直方向。图像处理所有的算法都不是固定使用的,不是万能的,是要根据图像的特点和需要的结果来选择适合的算法。
slshelly
2009-08-11
打赏
举报
回复
还有就是如下代码是先水平再垂直
if (nMode == 0)
{
//使用水平方向的结构元素进行腐蚀
// 由于使用1×3的结构元素,为防止越界,所以不处理最左边和最右边
// 的两列像素
for (j = 0; j < lHeight; j++)
{
for (i = 1; i < lWidth - 1; i++)
{
DestImgC24->SetValue(i, j,0);
if (SourImgC24->GetValue(i - 1, j) > dgGrayValue ||
SourImgC24->GetValue(i, j) > dgGrayValue ||
SourImgC24->GetValue(i + 1, j) > dgGrayValue)
DestImgC24->SetValue(i, j, 255);
}
}
}
else if (nMode == 1)
{
//使用垂真方向的结构元素进行腐蚀
for (j = 1; j < lHeight - 1; j++)
{
for (i = 0; i < lWidth; i++)
{
//目标图像中的当前点先赋成黑色
DestImgC24->SetValue(i, j,0);
//如果源图像中当前点自身或者左右有一个点不是黑色,
//则将目标图像中的当前点赋成白色
if (SourImgC24->GetValue(i, j - 1) > dgGrayValue ||
SourImgC24->GetValue(i, j) > dgGrayValue ||
SourImgC24->GetValue(i, j + 1) > dgGrayValue)
DestImgC24->SetValue(i, j, 255);
}
}
}
与 判断周边8个像素的值得出的结果是不同的,我该怎么用那?
是先判断水平再垂直,还是直接判断周围的8像素就可以了那 ?
for (j = 1; j < lHeight - 1; j++)
{
for (i = 0; i < lWidth; i++)
{
//目标图像中的当前点先赋成黑色
DestImgC24->SetValue(i, j,0);
//如果源图像中当前点自身或者左右有一个点不是黑色,
//则将目标图像中的当前点赋成白色
if (SourImgC24->GetValue(i - 1, j - 1) > dgGrayValue ||
SourImgC24->GetValue(i , j - 1) > dgGrayValue ||
SourImgC24->GetValue(i + 1, j - 1) > dgGrayValue ||
SourImgC24->GetValue(i - 1, j ) > dgGrayValue ||
SourImgC24->GetValue(i , j) > dgGrayValue ||
SourImgC24->GetValue(i + 1, j ) > dgGrayValue ||
SourImgC24->GetValue(i - 1, j + 1) > dgGrayValue ||
SourImgC24->GetValue(i , j + 1) > dgGrayValue ||
SourImgC24->GetValue(i + 1, j + 1) > dgGrayValue )
DestImgC24->SetValue(i, j, 255);
}
}
fiveyes
2009-08-11
打赏
举报
回复
或者去“专题开发/技术/项目”的“数据结构与算法”版问问看。
fiveyes
2009-08-11
打赏
举报
回复
不懂。
你可以试着到“更多论坛->专题开发/技术/项目->图形图像/机器视觉”版块去问问。
使用
腐蚀
与
膨胀
检测边缘与角点
详细见:http://blog.csdn.net/fred_yang2013/article/details/12375681
数字图像
腐蚀
膨胀
[代码]
本文详细介绍了数字图像处理中的
腐蚀
和
膨胀
操作。
腐蚀
是一种消除边界点、使边界向内部收缩的过程,可用于消除小且无意义的目标物或断开细小连通。
膨胀
则是将目标区域接触的背景点合并到该目标物中,使边界向外扩张,可用于填补空洞或消除小颗粒噪声。文章通过具体步骤、示例和代码(Python和C++)展示了
腐蚀
和
膨胀
的实现过程,并解释了结构元素的概念及其在操作中的重要性。
腐蚀
和
膨胀
是形态学处理中最基本的操作,互为对偶,广泛应用于二值图像的形态分析。
腐蚀
膨胀
算法详细解释07979复习过程.docx
。。。
腐蚀
膨胀
算法详细解释 (2).pdf
。。。
腐蚀
膨胀
算法详细解释 (2).docx
。。。cs
机器视觉
4,499
社区成员
15,364
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章