Azzera filtri
Azzera filtri

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

20 visualizzazioni (ultimi 30 giorni)
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.

Risposte (2)

Image Analyst
Image Analyst il 17 Feb 2016
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 Commenti
Image Analyst
Image Analyst il 24 Feb 2016
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).

Accedi per commentare.


Walter Roberson
Walter Roberson il 17 Feb 2016
bwareafilt to remove the speckles. bwmorph() to skeletonize.
  1 Commento
Meghashree G
Meghashree G il 17 Feb 2016
Sorry sir..I dint get you..how do i make the image thickness one pixel wide??please help me with the code.Thank you

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by