Branching points detection in processed image












3












$begingroup$


I want to get the branching coordinates from a computer-generated image like this one:



Generated tree



After SkeletonTransform and Pruning, I get:



Skeletonized



I would like to develop an algorithm that automatically detect and give coordinates of branching points (I could do it manually but really time consuming).



Thanks!



Edit: I already tried MorphologicalBranchPoints with poor results...










share|improve this question











$endgroup$








  • 1




    $begingroup$
    "I already tried MorphologicalBranchPoints with poor results..." Can you be specific about what you got and what you want instead?
    $endgroup$
    – Szabolcs
    12 hours ago










  • $begingroup$
    @ Szabolcs It was more about a careful selection of thinning and skeletonize options. The result with MorphologicalBranchPoints wasn't good then.
    $endgroup$
    – Valacar
    11 hours ago






  • 1




    $begingroup$
    Added another update.
    $endgroup$
    – Szabolcs
    11 hours ago
















3












$begingroup$


I want to get the branching coordinates from a computer-generated image like this one:



Generated tree



After SkeletonTransform and Pruning, I get:



Skeletonized



I would like to develop an algorithm that automatically detect and give coordinates of branching points (I could do it manually but really time consuming).



Thanks!



Edit: I already tried MorphologicalBranchPoints with poor results...










share|improve this question











$endgroup$








  • 1




    $begingroup$
    "I already tried MorphologicalBranchPoints with poor results..." Can you be specific about what you got and what you want instead?
    $endgroup$
    – Szabolcs
    12 hours ago










  • $begingroup$
    @ Szabolcs It was more about a careful selection of thinning and skeletonize options. The result with MorphologicalBranchPoints wasn't good then.
    $endgroup$
    – Valacar
    11 hours ago






  • 1




    $begingroup$
    Added another update.
    $endgroup$
    – Szabolcs
    11 hours ago














3












3








3





$begingroup$


I want to get the branching coordinates from a computer-generated image like this one:



Generated tree



After SkeletonTransform and Pruning, I get:



Skeletonized



I would like to develop an algorithm that automatically detect and give coordinates of branching points (I could do it manually but really time consuming).



Thanks!



Edit: I already tried MorphologicalBranchPoints with poor results...










share|improve this question











$endgroup$




I want to get the branching coordinates from a computer-generated image like this one:



Generated tree



After SkeletonTransform and Pruning, I get:



Skeletonized



I would like to develop an algorithm that automatically detect and give coordinates of branching points (I could do it manually but really time consuming).



Thanks!



Edit: I already tried MorphologicalBranchPoints with poor results...







graphics graphs-and-networks image-processing






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 12 hours ago







Valacar

















asked 12 hours ago









ValacarValacar

461212




461212








  • 1




    $begingroup$
    "I already tried MorphologicalBranchPoints with poor results..." Can you be specific about what you got and what you want instead?
    $endgroup$
    – Szabolcs
    12 hours ago










  • $begingroup$
    @ Szabolcs It was more about a careful selection of thinning and skeletonize options. The result with MorphologicalBranchPoints wasn't good then.
    $endgroup$
    – Valacar
    11 hours ago






  • 1




    $begingroup$
    Added another update.
    $endgroup$
    – Szabolcs
    11 hours ago














  • 1




    $begingroup$
    "I already tried MorphologicalBranchPoints with poor results..." Can you be specific about what you got and what you want instead?
    $endgroup$
    – Szabolcs
    12 hours ago










  • $begingroup$
    @ Szabolcs It was more about a careful selection of thinning and skeletonize options. The result with MorphologicalBranchPoints wasn't good then.
    $endgroup$
    – Valacar
    11 hours ago






  • 1




    $begingroup$
    Added another update.
    $endgroup$
    – Szabolcs
    11 hours ago








1




1




$begingroup$
"I already tried MorphologicalBranchPoints with poor results..." Can you be specific about what you got and what you want instead?
$endgroup$
– Szabolcs
12 hours ago




$begingroup$
"I already tried MorphologicalBranchPoints with poor results..." Can you be specific about what you got and what you want instead?
$endgroup$
– Szabolcs
12 hours ago












$begingroup$
@ Szabolcs It was more about a careful selection of thinning and skeletonize options. The result with MorphologicalBranchPoints wasn't good then.
$endgroup$
– Valacar
11 hours ago




$begingroup$
@ Szabolcs It was more about a careful selection of thinning and skeletonize options. The result with MorphologicalBranchPoints wasn't good then.
$endgroup$
– Valacar
11 hours ago




1




1




$begingroup$
Added another update.
$endgroup$
– Szabolcs
11 hours ago




$begingroup$
Added another update.
$endgroup$
– Szabolcs
11 hours ago










1 Answer
1






active

oldest

votes


















8












$begingroup$

Use MorphologicalBranchPoints.



im = Binarize@Import["https://i.stack.imgur.com/O0AMj.png"]

skel = Pruning[Thinning[im], 20];

HighlightImage[skel, MorphologicalBranchPoints[skel]]


enter image description here



Another possibility is to use



skel1 = Pruning[Thinning[im, Method -> "MedialAxis"], 10];


as a start then smoothen the result using



skel2 = Thinning@Dilation[skel1, 5]


so that MorphologicalBranchPoints would not give false results.



HighlightImage[skel2, MorphologicalBranchPoints[skel2]]


enter image description here






share|improve this answer











$endgroup$













  • $begingroup$
    Great ! Thanks a lot.
    $endgroup$
    – Valacar
    11 hours ago











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "387"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f191757%2fbranching-points-detection-in-processed-image%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









8












$begingroup$

Use MorphologicalBranchPoints.



im = Binarize@Import["https://i.stack.imgur.com/O0AMj.png"]

skel = Pruning[Thinning[im], 20];

HighlightImage[skel, MorphologicalBranchPoints[skel]]


enter image description here



Another possibility is to use



skel1 = Pruning[Thinning[im, Method -> "MedialAxis"], 10];


as a start then smoothen the result using



skel2 = Thinning@Dilation[skel1, 5]


so that MorphologicalBranchPoints would not give false results.



HighlightImage[skel2, MorphologicalBranchPoints[skel2]]


enter image description here






share|improve this answer











$endgroup$













  • $begingroup$
    Great ! Thanks a lot.
    $endgroup$
    – Valacar
    11 hours ago
















8












$begingroup$

Use MorphologicalBranchPoints.



im = Binarize@Import["https://i.stack.imgur.com/O0AMj.png"]

skel = Pruning[Thinning[im], 20];

HighlightImage[skel, MorphologicalBranchPoints[skel]]


enter image description here



Another possibility is to use



skel1 = Pruning[Thinning[im, Method -> "MedialAxis"], 10];


as a start then smoothen the result using



skel2 = Thinning@Dilation[skel1, 5]


so that MorphologicalBranchPoints would not give false results.



HighlightImage[skel2, MorphologicalBranchPoints[skel2]]


enter image description here






share|improve this answer











$endgroup$













  • $begingroup$
    Great ! Thanks a lot.
    $endgroup$
    – Valacar
    11 hours ago














8












8








8





$begingroup$

Use MorphologicalBranchPoints.



im = Binarize@Import["https://i.stack.imgur.com/O0AMj.png"]

skel = Pruning[Thinning[im], 20];

HighlightImage[skel, MorphologicalBranchPoints[skel]]


enter image description here



Another possibility is to use



skel1 = Pruning[Thinning[im, Method -> "MedialAxis"], 10];


as a start then smoothen the result using



skel2 = Thinning@Dilation[skel1, 5]


so that MorphologicalBranchPoints would not give false results.



HighlightImage[skel2, MorphologicalBranchPoints[skel2]]


enter image description here






share|improve this answer











$endgroup$



Use MorphologicalBranchPoints.



im = Binarize@Import["https://i.stack.imgur.com/O0AMj.png"]

skel = Pruning[Thinning[im], 20];

HighlightImage[skel, MorphologicalBranchPoints[skel]]


enter image description here



Another possibility is to use



skel1 = Pruning[Thinning[im, Method -> "MedialAxis"], 10];


as a start then smoothen the result using



skel2 = Thinning@Dilation[skel1, 5]


so that MorphologicalBranchPoints would not give false results.



HighlightImage[skel2, MorphologicalBranchPoints[skel2]]


enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited 11 hours ago

























answered 12 hours ago









SzabolcsSzabolcs

160k14436933




160k14436933












  • $begingroup$
    Great ! Thanks a lot.
    $endgroup$
    – Valacar
    11 hours ago


















  • $begingroup$
    Great ! Thanks a lot.
    $endgroup$
    – Valacar
    11 hours ago
















$begingroup$
Great ! Thanks a lot.
$endgroup$
– Valacar
11 hours ago




$begingroup$
Great ! Thanks a lot.
$endgroup$
– Valacar
11 hours ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Mathematica Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f191757%2fbranching-points-detection-in-processed-image%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Усть-Каменогорск

Халкинская богословская школа

Высокополье (Харьковская область)