Thinning Algorithm that ensures 8 connectivity

조회 수: 5 (최근 30일)
Sonam
Sonam 2012년 2월 15일
편집: Matt J 2013년 10월 16일
I need a thinning algorithm in matlab that satisfies the following requirements: 1. Connected image region must thin to connected line strycture. 2. The thinned image should be minimally 8-connected. 3. Appropiate endline location should be maintained. I use bwmorph(image,'thin') function for this but it does not satisfies all above requirements. Anyone can please provide algo that satisfies all the above mentioned 3 requirements.

채택된 답변

Ashish Uthama
Ashish Uthama 2012년 2월 15일
Sonam, Try the
bwmorph(image,'thin',Inf)
syntax. Without the third input argument, the thinning process is only performed once. A Inf input tells it to repeat the process till the output stops changing.
(If that doesnt work, it might also help to post a sample image)
  댓글 수: 4
Sonam
Sonam 2012년 2월 19일
How can I attach image with my question?
Image Analyst
Image Analyst 2012년 2월 19일
Upload it to tinypic.com, or read this tutorial: http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Image Analyst
Image Analyst 2012년 2월 17일
Sonam: I think the third condition is your problem. It's impossible for any "thick" structure, and will only be satisfied for regions that are already a line and can't be thinned anymore at all. Think about it, you are basically removing layer by layer of the outer perimeter until you get a line. If you have a cigar shape, it will get shortened - how could it not? It cannot go all the way out to the tips like it used to. If you need that, then that is a special, non-standard morphological operation that you need to do with custom code. For example, you could look at the last few pixels near the line endpoint and extrapolate (say with a line or quadratic) that a long way (long enough to poke outside your original shape), then AND (&) that image with your original binary image.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by