4邻接,8邻接和m邻接
假设p,q分别是像素点,他们的位置关系有几种情况。(p和q可以互换,此处是指两个不同的像素点)
4邻接:p在q的上下左右4个像素点内。
如图,灰色部分就是p的4邻域,那么灰色部分和p就是4邻接关系。
8邻接:p在q的周围的8个像素点内。
如图,灰色部分就是p的8邻域,灰色部分和p就是8邻接关系。
********************************************************************************************
按照以上的定义,其实4邻接和8邻接是很好区分的,但是在实际问题处理上,这样的定义不够用了(二义性),大牛们就想办法解决问题。
如图,从 右上1 到 中间1 有2条通路,这种情况人们非常不愿意面对,就提出了m邻接来解决问题。
m邻接(混合邻接):(只要满足1个就是m邻接)
1. p和q是4邻接
2. q在p的ND中且p的N4相交q的N4为空,则q和p是m连接的
当像素间同时存在4邻接和8邻接时,优先采用4邻接
如果不知道是不是m邻接,就套公式。
给几个例题大家可以练练:
a和c:8邻接。
a和b:4邻接,m邻接。
b和c:4邻接,m邻接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理