menghuihantang Posted November 2, 2007 Report Share Posted November 2, 2007 I was trying to process some fiber images. One of the steps is to get the skeletons of all fibers and count the numbers. But the skeletons are not very clean, small branches at the end. Usually imaging software has the trimming function to get rid of those, but I have difficulty finding such a function in LabVIEW vision, or LavVIEW doesn't have one at all? And another function which can return the numbers of neighbors for each pixel seems also unavailable in LavVIEW. Does anyone have any idea how to achieve these two functions? Appreciate it. Quote Link to comment
menghuihantang Posted November 2, 2007 Author Report Share Posted November 2, 2007 nobody knows about these. OR never care... Quote Link to comment
Norm Kirchner Posted November 2, 2007 Report Share Posted November 2, 2007 QUOTE(menghuihantang @ Nov 1 2007, 04:38 PM) nobody knows about these. OR never care... ??? Are you complaining because you don't have a reply yet? ....? I hope not, because although vision is cool, it's a smaller set of us that have a vast experience w/ it. You must just be trying to be funny..... I guess Quote Link to comment
eaolson Posted November 2, 2007 Report Share Posted November 2, 2007 QUOTE(menghuihantang @ Nov 1 2007, 11:22 AM) And another function which can return the numbers of neighbors for each pixel seems also unavailable in LavVIEW. What you mean here really isn't clear. On a 2D grid, any pixel has eight neighbors. Quote Link to comment
JDave Posted November 2, 2007 Report Share Posted November 2, 2007 QUOTE(Norm Kirchner @ Nov 1 2007, 03:05 PM) I hope not, because although vision is cool, it's a smaller set of us that have a vast experience w/ it. Or any experience with it at all ... Quote Link to comment
menghuihantang Posted November 3, 2007 Author Report Share Posted November 3, 2007 QUOTE(Norm Kirchner @ Nov 1 2007, 05:05 PM) ??? Are you complaining because you don't have a reply yet? I hope you could have seen the smiling face right ahead of the title. Complaining? How could that be a possibility :thumbup: Anyway, I appreciate every response.QUOTE(eaolson @ Nov 1 2007, 05:20 PM) What you mean here really isn't clear. On a 2D grid, any pixel has eight neighbors. The neighbors I mentioned here refer to those foreground pixels, which are part of an object.or put it in a simple way, the neighbors with a value 1 Quote Link to comment
eaolson Posted November 3, 2007 Report Share Posted November 3, 2007 QUOTE(menghuihantang @ Nov 2 2007, 08:33 AM) The neighbors I mentioned here refer to those foreground pixels, which are part of an object.or put it in a simple way, the neighbors with a value 1 I don't know a built-in function for that (but have only lightly ever used Vision), but couldn't you just do a correlation with a matrix like: 1 1 1 1 0 1 1 1 1 Quote Link to comment
TobyD Posted November 3, 2007 Report Share Posted November 3, 2007 QUOTE(menghuihantang @ Nov 1 2007, 09:22 AM) I was trying to process some fiber images. One of the steps is to get the skeletons of all fibers and count the numbers. But the skeletons are not very clean, small branches at the end. Usually imaging software has the trimming function to get rid of those, but I have difficulty finding such a function in LabVIEW vision, or LavVIEW doesn't have one at all? And another function which can return the numbers of neighbors for each pixel seems also unavailable in LavVIEW. Does anyone have any idea how to achieve these two functions? Appreciate it. I don't have a lot of experience with vision, but I know that once you convert the image to binary (it looks like you have already done this) there are multiple methods of trimming, filling, finding neighboring pixels, and counting individual objects. Unfortunately I don't have vision installed on my new laptop so I can't point you to anything specific. Quote Link to comment
menghuihantang Posted November 3, 2007 Author Report Share Posted November 3, 2007 QUOTE(TobyD @ Nov 2 2007, 11:38 AM) I don't have a lot of experience with vision, but I know that once you convert the image to binary (it looks like you have already done this) there are multiple methods of trimming, filling, finding neighboring pixels, and counting individual objects. Unfortunately I don't have vision installed on my new laptop so I can't point you to anything specific. The counting objects function is there, so is filling holes function. BUT the trimming/pruning and finding neighbor pixels are not available unless I am totally blind to them. I hope you can prove me wrong. Quote Link to comment
TobyD Posted November 3, 2007 Report Share Posted November 3, 2007 QUOTE(menghuihantang @ Nov 2 2007, 10:56 AM) The counting objects function is there, so is filling holes function. BUT the trimming/pruning and finding neighbor pixels are not available unless I am totally blind to them. I hope you can prove me wrong. The trimming I was thinking of was the erode and dilate functions found under Processing Functions: Binary>>Basic Morphology. The erode and dilate functions can be setup based on the number of neighboring pixels. There are also many different particle filter parameters available that you may be able to setup to "trim" the way you want. Quote Link to comment
menghuihantang Posted November 3, 2007 Author Report Share Posted November 3, 2007 QUOTE(TobyD @ Nov 2 2007, 01:26 PM) The trimming I was thinking of was the erode and dilate functions found under Processing Functions: Binary>>Basic Morphology. The erode and dilate functions can be setup based on the number of neighboring pixels.There are also many different particle filter parameters available that you may be able to setup to "trim" the way you want. I see your point. :thumbup: That's worth trying. Thanks for reminding of that. I will post what I got later. Quote Link to comment
menghuihantang Posted November 6, 2007 Author Report Share Posted November 6, 2007 QUOTE(TobyD @ Nov 2 2007, 12:26 PM) The trimming I was thinking of was the erode and dilate functions found under Processing Functions: Binary>>Basic Morphology. The erode and dilate functions can be setup based on the number of neighboring pixels.There are also many different particle filter parameters available that you may be able to setup to "trim" the way you want. TobyD, I tried, but I don't think it's going to work. Playing with structure elements is a mess and complicated, because for an end point, it can have one or two neighbors whose positions can be anywhere around the end point. So one type of structure only covers one of the many possible cases. I don't know, it doesn't seem promising to me. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.