robster All American 3545 Posts user info edit post |
Anyone know of a tool that can be used to analyze the colors in a photo.
Looking for something that would break out, by percentages, the colors found in a photo that is uploaded. If you know how to create this, I would be willing to pay as well 10/11/2011 4:15:04 PM |
FroshKiller All American 51913 Posts user info edit post |
What color depth? Percentages of pixels of each color? What file formats? What are the maximum dimensions you'd need to support? Single-photo processing or batch processing? What platform does it need to run on? 10/11/2011 4:22:35 PM |
darkone (\/) (;,,,;) (\/) 11611 Posts user info edit post |
^ The exact questions I was going to ask. 10/11/2011 4:36:18 PM |
gs7 All American 2354 Posts user info edit post |
Python is pretty amazing.
http://effbot.org/imagingbook/image.htm#tag-Image.Image.histogram
http://effbot.org/imagingbook/image.htm#tag-Image.Image.getcolors
[Edited on October 11, 2011 at 5:13 PM. Reason : .] 10/11/2011 5:12:54 PM |
robster All American 3545 Posts user info edit post |
Sounds like you guys know much more about this than I do (not that I thought I knew much about it)
I'd prefer if it was php based, and that I could send the function an image file location, and then it should output in order from top down the colors found in the image by percentages found.
Ideally, it could include some allowance for variance due to lighting and what not so that what is output is the top 10 main colors found in the image (a variance parameter would be sweet).
16bit color would be a good start, but if flexible to do either truecolor or 16bit color, that would be great as well.
Most popular file formats would be ideal, as most images will come directly from digital cameras.
Single-photo processing would be fine, as It would probably run as a photo is uploaded.
Lets assume 24megapixel max, since some SLRs have that, but I would hope that could be flexible as well
[Edited on October 11, 2011 at 5:15 PM. Reason : .] 10/11/2011 5:13:16 PM |
BigMan157 no u 103354 Posts user info edit post |
good luck on that 10/11/2011 5:15:09 PM |
darkone (\/) (;,,,;) (\/) 11611 Posts user info edit post |
When you say color to you mean something like: $ff9900 or #4cf5cc65fa53
or do you mean something more like:
10/11/2011 5:36:39 PM |
lewisje All American 9196 Posts user info edit post |
^Does anybody even use a monitor that displays 64-bit (48-bit not counting alpha) color? 10/11/2011 8:54:27 PM |
FroshKiller All American 51913 Posts user info edit post |
Do you say PHP because you want to use a Web front end to supply the image file and display the output? A compiled program would run much faster. You could call the program and capture its output in a PHP script.
If this will be available on the Web, how many simultaneous users do you expect to serve? What are the Web server's hardware and software specifications?
Do you want the percentages in terms of other colors or in terms of the image's pixels? If I have a 10x10 image with 70 blue pixels and 30 red pixels, do I have 50% blue and 50% red or 70% blue and 30% red?
[Edited on October 11, 2011 at 10:03 PM. Reason : ///] 10/11/2011 10:01:27 PM |
JBaz All American 16764 Posts user info edit post |
lol... histogram
/thread 10/11/2011 10:21:10 PM |
robster All American 3545 Posts user info edit post |
I say php just because I have more experience with it and know I can use it on my shared hosting service. I may want to take the code and do more with it so being able to quickly expand its use is also a consideration for why I chose php.
For example, I may want capture in an array all the pixel locations of a specific color, and the rewrite the image using a different color in its place. 10/11/2011 10:44:56 PM |
Noen All American 31346 Posts user info edit post |
this is going to be mindnumbingly slow with non-zend compiled PHP. It's going to bring your shared hosting server to a crawl as well.
Get a C histogram app, and use PHP's exec capabilities to get stuff in / out 10/12/2011 1:04:27 AM |