Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hair removal algorithm development

As a prepossessing requirement of my project I have to remove skin hairs from the image. For this I found an already existing program. The implementation is done in Matlab.

The above link quotes the following

  1. It identifies the dark hair locations by a generalized grayscale morphological closing operation,
  2. It verifies the shape of the hair pixels as thin and long structure, and replace the verified pixels by a bilinear interpolation, and
  3. It smooths the replaced hair pixels with an adaptive median filter.

As for the above part which mentions generalized grayscale morphological closing operation I could not find out what it meant and not being able to implement it in Matlab either

Currently what I need to do is simply

  1. Identify hair pixels
  2. Verify hair pixels
  3. Replace hair pixels with neighboring skin pixels

I was wondering if you could suggest any methods that could be used for the implementation of this algorithm (edge detection and such) as currently so far all attempts havent worked out properly. Any matlab functions that could be used would be very helpful as well. Also was wondering on what method that I could use to verify the pixels as thin and long structures

Updated : As I am new to image processing I do not have any prior knowledge of what methods to use on how to identify the hair pixels, verify them and replace them with neighboring pixels, thus the requesting of guidance

like image 969
MilindaD Avatar asked Feb 27 '12 08:02

MilindaD


1 Answers

I will assume that you understand what a grayscale image is and operations upon it are. If not, edit your question to clarify.

The Matlab Image Processing Toolbox includes the imclose function. Morphological closing is explained on Wikipedia. The Internet is awash with information about mathematical morphology for image processing.

EDIT after comment

This page gives a general introduction for mathematical morphology for image processing. One view of what you are trying to do is remove noise from your image, where that noise is expressed as long(-ish) thin(-ish) dark elements against a light background -- if, that is, the hairs are dark and the skin is light. This isn't an application I've looked at so I can't provide any more help. Have fun.

like image 130
High Performance Mark Avatar answered Oct 01 '22 19:10

High Performance Mark