How do I apply skintone on a particular selfie using opencv

asked 2018-07-12 16:17:32 -0500

saikiran236 gravatar image

I'm looking for an approach to apply skintone on a particular selfie without noise.(opencv-python) Currently I have tried:

  • Converting image to gray scale,
  • Applying binary threshold followed by adaptive thresholding
  • Finally changing all the white pixels to the desired color

    The problem with this approach is there's

a lot of noise especially when the selfie does not have proper brightness

(when taken in slightly darker place) or the selfie simply has some beard. The noise occurs mainly around the eye region and around the cheeks(because of beard and skintone change around the eyes). I have tried kmeans clustering though I'm getting a slightly better output but not the desired one.

I also tried applying converting the image to pencil sketch with gaussian blur and edge detection followed by binary threshold and converting white pixels to required color but the noise remains the same. I would like to hear some better way of approaching the problem or ways to remove noise without any user input.

edit retag flag offensive close merge delete


ehh, 6 duplicates of the same question ? and you don't even care to clean them up ? baaa

berak gravatar imageberak ( 2018-07-12 20:19:56 -0500 )edit

Sorry, that was a network error i think

saikiran236 gravatar imagesaikiran236 ( 2018-07-13 00:57:57 -0500 )edit