4鄰接,8鄰接和m鄰接

2022-07-11 07:15:12 字數 962 閱讀 8252

假設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鄰接。 

鄰接矩陣和鄰接表筆記

鄰接矩陣筆記 include include using namespace std 定義邊 typedef struct enode ptrlenode struct enode typedef ptrlenode edge 圖節點定義 typedef struct gnode ptrlgnode...

鄰接表轉鄰接矩陣

假設無向圖g採用鄰接矩陣儲存,編寫乙個演算法輸出鄰接表。description 第一行為乙個 整數n,表示頂點的個數 頂點 編號為0到n 1 接下來是為乙個n n大小的 整數矩陣,表示圖的鄰接關係。數字為0表示不鄰接,1表示鄰接。input 輸出圖g的鄰接表。第一行表示頂點0可直接到達的 頂點編號。...

鄰接矩陣與鄰接表

鄰接矩陣表示圖 public class graph private int vertexnum private int edgenum private int g 鄰接矩陣 public graph int vertexnum public void insertedge edge edge pu...