How to thin the image so as to make the thickness of the image to one pixel wide?

12 次查看(过去 30 天)
Hello,i have an image and i want to thin that word image so as to make the thickness of each word to one-pixel wide to make the stroke width uniform.Please help me.

回答(2 个)

Image Analyst
Image Analyst 2016-2-17
Try this
binaryImage = grayImage < 128;
% Remove small blobs;
binaryImage = bwareaopen(binaryImage, 500);
% Skeletonize
skeletonImage = bwmorph(binaryImage, 'skel', inf);
Make sure your image is actually gray scale, not color.
  7 个评论
Image Analyst
Image Analyst 2016-2-24
It's this line that makes it one pixel wide:
skeletonImage = bwmorph(binaryImage, 'skel', inf);
To not remove small blobs, change the 500 to a smaller number, like 20 or 50 or whatever
binaryImage = bwareaopen(binaryImage, 20);
The number you input is the size of blobs, plus smaller ones, that it will throw away (remove).

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2016-2-17
bwareafilt to remove the speckles. bwmorph() to skeletonize.

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by