Is this possible to convert a thick line or curve into its thinner version
이전 댓글 표시
Is this possible to convert a thick line or curve into its thinner version in an image using Matlab / Octave? Please view the image. Right side curves (alphabets) are thicker and need to be converted into the left ones. i.e., a single line version is needed.
thanks

채택된 답변
추가 답변 (2개)
Image Analyst
2014년 11월 18일
You can skeletonize it after thresholding.
binaryImage = grayImage < 128; % or whatever.
skeletonImage = bwmorph(binaryImage, 'skel', inf);
You cannot use imerode() because it will break apart your object into multiple objects. You cannot use bwulterode because it will shrink the blob down to a single point.
댓글 수: 2
baby
2014년 11월 20일
Image Analyst
2014년 11월 20일
편집: Image Analyst
2014년 11월 20일
It did not work because you did not do what I recommended . Look at the line where I thresholded. It will take everything that is darker than 128 and turn it white. Why did you not do that? You should notice that I even specifically said NOT to use bwulterode() or imerode(). All I can figure is that this reply was really meant for Ahmet, not for me. I know you accepted his answer already, but if you need any more help, feel free to ask.
baby
2014년 11월 24일
댓글 수: 1
Image Analyst
2014년 11월 24일
Again, this is not my code. You took the skeleton of a2, which is not the binary image. The binary image is the badly-named "a". So you're still not doing what I suggested - perhaps the poor variable names confused you, that's why I recommend using descriptive variable names like grayImage, binaryImage, skeletonImage, etc. Please attach your original B image that you used so I can try it.
카테고리
도움말 센터 및 File Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

