How to apply thinning algorithm to color image

Hi, is there any possible way to apply thinning algorithm to a color image. Exactly like the one I attached. I want to get single line drawing from the color image
Thank you

Respuestas (1)

Image Analyst
Image Analyst el 16 de Abr. de 2014
Try this for starters:
redChannel = rgbImage(:,:,1);
% Threshold (binarize) the red channel.
binaryImage = redChannel < 227; % Use triangle method to get the # automatically.
% Take largest blob. See attached demo. Then...
thinnedImage = bwmorph(binaryImage, 'skel', inf);
Adapt as necessary.

3 comentarios

missC
missC el 16 de Abr. de 2014
Thanks for the reply Image Analyst. I am not sure how can I apply with my image even i have tried and run your Blob demo. Excuse of my shallow knowledge sir
missC
missC el 16 de Abr. de 2014
Now I got it sir. But how to preserve the color and the intensity of the image without convert to binary image? Or in other words thinned color/intensity image
Thanks.
You can't. It needs to be binary if you're going to skeletonize. After skeletonization you can convert to color if you want:
black = zeros(size(binaryImage), 'uint8');
rgbImage = cat(2, black, black, uint8(binaryImage));
Weight the components if you want a different color.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 16 de Abr. de 2014

Comentada:

el 16 de Abr. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by