3D Histograms of RGB ;color clustering software

Posted:
in Mac Software edited January 2014
Does anyone know of any software that can generate a 3d histogram of the frequency,or at least presence,of all of the pixels in RGB color space.What I am looking for would be a 256^3 unit cube wherin there would either be a dot denoting presence,or a color denoting fequency,at the position representing that color.For example,if black was present in the image,there would be a dot at position (0,0,0).Any information would be appreciated.





On edit:I have just discovered that I am looking for is called color clustering software.



[ 11-21-2002: Message edited by: Rick1138 ]</p>

Comments

  • Reply 1 of 10
    I can write a simple little app to do this, I'll try to do it after work this evening...



    [quote]Originally posted by Rick1138:

    <strong>Does anyone know of any software that can generate a 3d histogram of the frequency,or at least presence,of all of the pixels in RGB color space.What I am looking for would be a 256^3 unit cube wherin there would either be a dot denoting presence,or a color denoting fequency,at the position representing that color.For example,if black was present in the image,there would be a dot at position (0,0,0).Any information would be appreciated.





    On edit:I have just discovered that I am looking for is called color clustering software.



    [ 11-21-2002: Message edited by: Rick1138 ]</strong><hr></blockquote>
  • Reply 2 of 10
    This probably isn't what you're talking about, but the ColroSync Utility can show the 3D color space of any saved color profile...
  • Reply 3 of 10
    [quote]\t

    I can write a simple little app to do this, I'll try to do it after work this evening...

    <hr></blockquote>



    OK cool,I can send you the a-life simulation I am working on.



    [quote]This probably isn't what you're talking about, but the ColroSync Utility can show the 3D color space of any saved color profile... <hr></blockquote>



    I would be interested in looking at that,I tried to open my profiles in the ColorSync utillity but they were all grayed out.
  • Reply 4 of 10
    Well, I finally got a chance to write a simple little color gamut visualizer -- I hope this is what you had in mind! It's in my iDisk public folder, in a folder called "GamutView". My .mac/iDisk id is cjacobs.



    To look at the gamut of an image, drag it into the upper pane of the app. Then, you can rotate the color cube around with your mouse. You can zoom in/out with the scrollwheel, or using some menu item.



    [ 11-25-2002: Message edited by: blixa ]</p>
  • Reply 5 of 10
    Wow,thanks I really appreciate it,that is exactly what I am looking for.There is one problem-it doesn't run on my system it crashes on startup.I'm using 10.1.2.



    The reason I want it is too see how color spaces cluster when the color harmonies are aesthically pleasing.I have been trying to write algorithms for an a-life simulation that generate harmonious color combinations.The simulation is available here:

    <a href="ftp://jarosh.net/pub/Simulation.tgz"; target="_blank">ftp://jarosh.net/pub/Simulation.tgz</a>;



    It runs in the freeware breve simulation enviroment,which is available here:

    <a href="http://www.spiderland.org/breve/"; target="_blank">http://www.spiderland.org/breve/</a>;



    Included in the file is a graphic tile.sgi,which has to be put in the home directory for it to be displayed properly (it is the texture of the floor) or you can change the path at line 600 in the simulation file.Unfortunately this is the only way to do this,I apologize for the difficulty.
  • Reply 6 of 10
    d'oh! I'll see if I can compile it for 10.1.2. I don't have a pre-Jag machine to test on, so I'm not really sure how to know if it worked...



    Sounds like a cool project.



    [quote]Originally posted by Rick1138:

    <strong>Wow,thanks I really appreciate it,that is exactly what I am looking for.There is one problem-it doesn't run on my system it crashes on startup.I'm using 10.1.2.



    The reason I want it is too see how color spaces cluster when the color harmonies are aesthically pleasing.I have been trying to write algorithms for an a-life simulation that generate harmonious color combinations.The simulation is available here:

    <a href="ftp://jarosh.net/pub/Simulation.tgz"; target="_blank">ftp://jarosh.net/pub/Simulation.tgz</a>;



    It runs in the freeware breve simulation enviroment,which is available here:

    <a href="http://www.spiderland.org/breve/"; target="_blank">http://www.spiderland.org/breve/</a>;



    Included in the file is a graphic tile.sgi,which has to be put in the home directory for it to be displayed properly (it is the texture of the floor) or you can change the path at line 600 in the simulation file.Unfortunately this is the only way to do this,I apologize for the difficulty.</strong><hr></blockquote>
  • Reply 7 of 10
    I have the dev tools installed and know how to use them.
  • Reply 8 of 10
    [quote]Originally posted by Rick1138:

    <strong>I have the dev tools installed and know how to use them.</strong><hr></blockquote>



    Ok, I put the source up -- there's a gzipped ProjectBuilder project in the public folder, called GamutView.tgz. Hopefully, the project file is backwards compatible. Good luck!
  • Reply 9 of 10
    Wow,that kicks ass! Exactly what I wanted,but better,I expected the dots in the cube to be all black-awesome.It built OK on my system,all I had to do was explicitly import a couple of files .That is geat little app-if you want an icon for it I would be happy to do one.
  • Reply 10 of 10
    Here is a version of drawGamut that colors th evertices in accordance to their place in the color space,and draws the grayscale axis as well:



    [quote]

    - (void) drawGamut

    {

    glPointSize( 2.0 );

    histogram-&gt;DrawColors();





    glBegin( GL_LINES );

    glColor3f(0, 1, 1 );

    glVertex3f( -1, 1, 1 );

    glColor3f( 0, 1, 0);

    glVertex3f( -1, 1, -1 );

    glVertex3f( -1, 1, -1 );

    glColor3f( 0, 0, 0 );

    glVertex3f( -1, -1, -1 );

    glVertex3f( -1, -1, -1 );

    glColor3f( 0, 0, 1 );

    glVertex3f( -1, -1, 1 );

    glVertex3f( -1, -1, 1 );

    glColor3f( 0, 1, 1 );

    glVertex3f( -1, 1, 1 );

    glColor3f( 1, 1, 1 );

    glVertex3f( 1, 1, 1 );

    glColor3f( 1, 1, 0 );

    glVertex3f( 1, 1, -1 );

    glVertex3f( 1, 1, -1 );

    glColor3f( 1, 0, 0 );

    glVertex3f( 1, -1, -1 );

    glVertex3f( 1, -1, -1 );

    glColor3f( 1, 0, 1 );

    glVertex3f( 1, -1, 1 );

    glVertex3f( 1, -1, 1 );

    glColor3f( 1, 1, 1 );

    glVertex3f( 1, 1, 1 );

    glVertex3f( 1, 1, 1 );

    glColor3f( 0, 1, 1 );

    glVertex3f( -1, 1, 1 );

    glColor3f( 1, 1, 0 );

    glVertex3f( 1, 1, -1 );

    glColor3f( 0, 1, 0 );

    glVertex3f( -1, 1, -1 );

    glColor3f( 1, 0, 0);

    glVertex3f( 1, -1, -1 );

    glColor3f( 0, 0, 0 );

    glVertex3f( -1, -1, -1 );

    glColor3f( 1, 0, 1 );

    glVertex3f( 1, -1, 1 );

    glColor3f( 0, 0, 1 );

    glVertex3f( -1, -1, 1 );

    glColor3f( 0, 0, 0);

    glVertex3f( -1, -1, -1 );

    glColor3f( 1, 1, 1 );

    glVertex3f( 1, 1, 1 );

    glEnd();



    }



    <hr></blockquote>



    [ 12-03-2002: Message edited by: Rick1138 ]



    [ 12-03-2002: Message edited by: Rick1138 ]</p>
Sign In or Register to comment.