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!

