darks = find(v <.2)';
lights = find(s < .05 & v > .85)';
h([darks lights])= -1;
disp(length(darks))
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;

 채택된 답변

Dishant Arora
Dishant Arora 2014년 6월 20일

0 개 추천

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

댓글 수: 2

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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Image Analyst
Image Analyst 2014년 6월 20일

0 개 추천

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

댓글 수: 2

do you mean that above code is for calculating no of pixels of particular color
Image Analyst
Image Analyst 2014년 6월 21일
편집: Image Analyst 2014년 6월 21일
Yes, but it's normalized (by dividing by the number of pixels), so it's really an area fraction than a pure count.

댓글을 달려면 로그인하십시오.

질문:

2014년 6월 20일

편집:

2014년 6월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by