MATLAB Answers


please tell me the meaning of following code

Asked by Anamika baruah on 20 Jun 2014
Latest activity Edited by Image Analyst
on 21 Jun 2014
darks = find(v <.2)';
lights = find(s < .05 & v > .85)';
h([darks lights])= -1;
black = length(darks)/pixels;[x,y, z]=size(I);
white = length(lights)/pixels;
red = length(find((h >.9167 | h <=.083) & h~=-1))/pixels;
yellow=length(find(h >.083 & h<=.25))/pixels;
green=length(find(h > .25 & h<= .4167))/pixels;
cyan= length(find(h > .4167 & h<= .5833))/pixels;
blue=length(find(h > .5833 & h <= .75))/pixels;
magenta=length(find(h > .75 & h <= .9167))/pixels;


Sign in to comment.

2 Answers

Answer by Dishant Arora on 20 Jun 2014
 Accepted Answer

This code is calculating probably density function of colors(black, white, red , yellow and so on) present in image out of an image(hsv).


what is density function of colors
It says how often a color is occuring/present in image or when you pick up a random pixel what's the probability of that pixel to be of a particular color

Sign in to comment.

Answer by Image Analyst
on 20 Jun 2014

It's counting the number of pixels with those particular colors.


do you mean that above code is for calculating no of pixels of particular color
Yes, but it's normalized (by dividing by the number of pixels), so it's really an area fraction than a pure count.

Sign in to comment.