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

Answers (1)

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 Comments

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
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.

Sign in to comment.

Categories

Find more on Modify Image Colors in Help Center and File Exchange

Asked:

on 16 Apr 2014

Commented:

on 16 Apr 2014

Community Treasure Hunt

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

Start Hunting!