image - How to detect colors under different illumination conditions -


i have bunch of images of clothes of many colors , want detect colors of each image. have blue skirt image in daylight conditions , can correct color through rgb distributions. however, @ night it's difficult tell color , "blue" recognized "black". it's hard make unified standard specify colors through rgb distributions.

as such, wondering there way or algorithm detect colors under different illuminations?

btw: tried hsv color space , results not good.

that's hard problem , it's still trying solved today. gist of find colour quantization using representative set of basic colours of image robust against different external stimuli... lighting, shade, poor illumination etc.

unfortunately can't suggest 1 algorithm work cases. however, 1 algorithm has worked me in past when doing work in image retrieval. specifically, work jiebo luo , david crandall kodak research labs: http://vision.soic.indiana.edu/papers/compoundcolor2004cvpr.pdf

the basic algorithm take @ iscc-nbs colour palette set. also, link more fruitful: http://tx4.us/nbs-iscc.htm. set of 267 colours representative of colours see in modern society today. when describe colours, have set of 1 or more adjectives, followed dominant hue. example, shirt darkish pale blue, or light bright yellow, etc. beauty of algorithm when colour in question subject different external stimuli, have of these adjectives give meaning colour, @ end of day, last part of colour - dominant hue - we're after.

each of these colours has associated rgb value. these colours transformed cie lab colour space form 267 cie lab lookup table.

to classify particular input colour, transform input's rgb values cie lab colour space, determine closest colour lookup table. has been shown euclidean distance between 2 colours in cie lab colour space best represents difference in human perception of colours. once determine location in lookup table colour closest to, strip out of adjectives , see dominant hue , classify colour accordingly.

for example, if had rgb pixel , converted lab, found closest colour bright yellow, remove "bright" , final colour representative of rgb pixel yellow.


therefore, final algorithm this:

  1. find iscc-nbs colour set's rgb values , convert cie lab , create lookup table.
  2. create lookup stores dominant hue each of colours in iscc-nbs colour set - strip out of adjectives , leave dominant hue.
  3. for pixel in question, find closest pixel matches within lookup table euclidean distance of lab components.
  4. once find location in lookup table, use same index index lookup found in step #2 , final colour classify input pixel's colour.

hope helps!


Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

python - NameError: name 'subprocess' is not defined -