Most Prominent colour? (not jit.3m)
I am looking for a way to look at a matrix and see the most prominent
colour or section of colours.
I don't want the average colour on screen, like, say you have a big red
field and a smaller blue field in the matrix. If I apply jit.3m I will
basically get a violet colour as the RGB mean. I would like to output
"red" in this example.
Would jit.histogram or jit.colorspace be helpful here?
Cheers,
Andreas.
If you want the most frequent color, jit.histogram is the object you need.
wes
On 4/10/07, Andreas Wetterberg wrote:
> I am looking for a way to look at a matrix and see the most prominent
> colour or section of colours.
>
> I don't want the average colour on screen, like, say you have a big red
> field and a smaller blue field in the matrix. If I apply jit.3m I will
> basically get a violet colour as the RGB mean. I would like to output
> "red" in this example.
>
> Would jit.histogram or jit.colorspace be helpful here?
>
> Cheers,
> Andreas.
>
Hi Wes,
Yes, histogram helps me clearly visualize what's going on with regard to
colour in the matrix, but I honestly don't have any idea how to
automatically extract an RGB value from histogram that says "THIS is the
most prominent value". Any pointers to send me in the right direction,
and I'll happily patch it up for yall.
cheers,
Andreas.
Wesley Smith skrev:
> If you want the most frequent color, jit.histogram is the object you
> need.
>
> wes
>
Actually now that I look at it, jit.histogram isn't quite what you
want because it does per-plane binning. The only way I can think to
do it with standard jitter objects is to somehow make the 3 color
planes into a single plane of unique values per color triplet my
making a long with its 32 bytes as the ARGB char values. That's a
pain to do. Seems like what you want calls for a custom external.
Perhaps someone else has a better idea?
wes
Colorspace conversion? For example jit.rgb2hsl and then use
jit.histogram to extract the hue plane info?
M.
Wesley Smith wrote:
> Actually now that I look at it, jit.histogram isn't quite what you
> want because it does per-plane binning. The only way I can think to
> do it with standard jitter objects is to somehow make the 3 color
> planes into a single plane of unique values per color triplet my
> making a long with its 32 bytes as the ARGB char values. That's a
> pain to do. Seems like what you want calls for a custom external.
> Perhaps someone else has a better idea?
>
> wes
>
>
jit.rgb2hsl + jit.histogram is the way to, but you will run into problems with multi-modal distributions. For example, take the following hue values:
0: 2
1: 2
2: 2
3: 2
155: 6
If you just look at the highest value, it would appear that blue (155) with 6 pixels is the most prominent colour. However, values 0 to 3 (red) account for 8 pixels, so there is really more red than blue.
and that's where jit.charmap might come in handy, no?
On Apr 13, 2007, at 8:39 AM, Jean-Marc Pelletier wrote:
>
> jit.rgb2hsl + jit.histogram is the way to, but you will run into
> problems with multi-modal distributions. For example, take the
> following hue values:
>
> 0: 2
> 1: 2
> 2: 2
> 3: 2
> 155: 6
>
> If you just look at the highest value, it would appear that blue
> (155) with 6 pixels is the most prominent colour. However, values 0
> to 3 (red) account for 8 pixels, so there is really more red than
> blue.
This sounds really really exciting for me. If anyone cracks this in a
patch I'd be so psyched!
Andreas _:
nesa skrev:
> and that's where jit.charmap might come in handy, no?
>
> On Apr 13, 2007, at 8:39 AM, Jean-Marc Pelletier wrote:
>
>> jit.rgb2hsl + jit.histogram is the way to, but you will run into
>> problems with multi-modal distributions. For example, take the
>> following hue values:
>>
>> 0: 2
>> 1: 2
>> 2: 2
>> 3: 2
>> 155: 6
>>
>> If you just look at the highest value, it would appear that blue
>> (155) with 6 pixels is the most prominent colour. However, values 0
>> to 3 (red) account for 8 pixels, so there is really more red than blue.
here's one quickie:
cheers,
nesa
nesa skrev:
> here's one quickie:
AWESOME!
And, since I just got word that my little shipment of 6 big RGB LED par
lamps is coming early next week, I will definitely do some testing with
video controlling the RGBs. (*school-girlish giggle*)
Andreas.
I can't think of any approaches using the standard Jitter objects.
You could program an object in Java or C that loops through the
image, counting the instances of each color. I would recommend that
you limit the range first, though, perhaps to 1000 colors by dividing
by 25 and then multiplying by 25.
Jeremy
On Apr 11, 2007, at 3:21 AM, marco lorenzin wrote:
> Colorspace conversion? For example jit.rgb2hsl and then use
> jit.histogram to extract the hue plane info?
>
> M.
>
> Wesley Smith wrote:
>> Actually now that I look at it, jit.histogram isn't quite what you
>> want because it does per-plane binning. The only way I can think to
>> do it with standard jitter objects is to somehow make the 3 color
>> planes into a single plane of unique values per color triplet my
>> making a long with its 32 bytes as the ARGB char values. That's a
>> pain to do. Seems like what you want calls for a custom external.
>> Perhaps someone else has a better idea?
>> wes
>
>
>