how to calculate the diameter of a vessel
    조회 수: 11 (최근 30일)
  
       이전 댓글 표시
    

hello everyone
I really need help as soon as possible
I want a solution to calculate the diameter of each white line in the image(Vessel Diameter Measurement)
댓글 수: 1
  John D'Errico
      
      
 2014년 4월 17일
				Compute the radius. Multiply by 2.
Really, we are not here to do your homework as soon as possible. IF you could not start it in a timely way, then why should we rush?
Make an effort, as that is the way to learn. Or don't make an effort. In that case, learn to say the phrase "Do ya want fries with that order?"
채택된 답변
추가 답변 (2개)
  Image Analyst
      
      
 2014년 4월 17일
        
      편집: Image Analyst
      
      
 2020년 5월 7일
  
      It's pretty easy - maybe 3 lines of code. First call bwdist to get the distance from the white pixels to the nearest black pixel. Then call bwmorph to skeletonize that so you get the distances along the centerlines. That's the radius so multiply by two to get the diameter. It will be an image looking like a skeleton and to find the diameter you simply look at the value of the pixel at the location you want the diameter of. Basically it's this (untested):
edtImage = 2 * bwdist(~binaryImage);
skeletonImage = bwmorph(binaryImage, 'skel', inf);
diameterImage = edtImage .* double(skeletonImage);
Can't get much simpler, though you may want to add a utility where you let the user call ginput() to report back the diameter at the closest pixel to where they clicked. It's pretty easy, though clever and not obvious (until you know about it), so most novices might embark on some complicated looping process to get cross sections (what a nightmare that would be).
참고 항목
카테고리
				Help Center 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!








