前景が白のバイナリ イメージがあります。その中心軸骨格の分岐点と終点から、グラフを作成したいと思います。理想的には、次の構造を使用します。
- [nodes] は [ID XY] の形式で、X、Y は分岐点または終点のピクセル位置、ID はノードの ID (整数) です。
- [edges] の形式は [ID N1 N2] で、N1 と N1 はノードの ID を表します。
[ノード] と [エッジ] の両方を使用して、スケルトンを無向グラフ表現にマッピングします。
以下のコードを使用すると、ブランチとエンドポイントを計算できますが、これらを適切に接続する必要があります。
skelImg = bwmorph(im, 'thin', 'inf');
branchImg = bwmorph(skelImg, 'branchpoints');
endImg = bwmorph(skelImg, 'endpoints');
[row, column] = find(endImg);
endPts = [row column];
[row, column] = find(branchImg);
branchPts = [row column];
figure; imshow(skelImg); hold on; plot(branchPts(:,2),branchPts(:,1),'r*'); hold on; plot(endPts(:,2),endPts(:,1),'*');
入力画像 (左側)、そのスケルトン (中央)、および対応する分岐点と終点 (右側) の例を以下に示します。



または、次の URL の完全な解像度でも: http://imgur.com/a/a3s4F/