Re: [GD-DEVEL] RGB to Lab colorspace conversion
[email protected] (Pierre Joye) Tue, 26 Jan 2010 19:42:04 +0100
| Newsgroups | php.gd.devel |
|---|---|
| Message-ID | <[email protected]> |
hi, Ah, you are the author of this code? If yes and if you agree to relicense it to BSD for GD (the port), then everything is fine :). If you are not the author, then we have to implement it from scratch based on the specs. Cheers, On Tue, Jan 26, 2010 at 6:59 PM, Joe Lencioni <[email protected]> wrote: > The links to the functions that I sent were all written by me (based off of > the math on the Wikipedia > articles http://en.wikipedia.org/wiki/Lab_color_space http://en.wikipedia.org/wiki/Color_difference and > the EasyRGB > website http://www.easyrgb.com/index.php?X=MATH http://www.easyrgb.com/index.php?X=DELT). > If you are concerned about the GPL license on the code from Google Code, I > would be happy to let you port that code for GD. Please let me know if there > is anything that I can do to help make this happen. > Joe > > On Tue, Jan 26, 2010 at 11:42 AM, Pierre Joye <[email protected]> wrote: >> >> hi, >> >> Color conversions would rock. If you can find implementation under a >> BSD license (or similar but not GPL), we will happy to port them. >> >> Cheers, >> >> On Mon, Jan 25, 2010 at 11:41 PM, Joe Lencioni <[email protected]> >> wrote: >> > First of all, thank you for developing GD. It is an indispensable tool >> > for >> > working with images in PHP. >> > >> > I am working on an image resizing and cropping script that attempts to >> > detect which areas of an image are more important when making cropping >> > decisions--essentially asking the computer to determine perceptual color >> > differences. To accomplish this, I convert pixels from the RGB >> > colorspace >> > into Lab colorspace and compare the differences. ( >> > http://en.wikipedia.org/wiki/Lab_color_space#Advantages_of_Lab). While I >> > can >> > make this happen in PHP, it is slow and uses too much memory. I would >> > love >> > to see functions to facilitate this conversion and comparison directly >> > in >> > GD. >> > >> > To convert from RGB to Lab, you first need to convert from RGB to XYZ >> > colorspace and then from XYZ to Lab colorspace. Here are the functions >> > that >> > I use for conversion in PHP (which have been derived from the formulas >> > on >> > the EasyRGB website http://www.easyrgb.com/index.php?X=MATH): >> > >> > GD color index to RGB: >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#755 >> > RGB to XYZ: >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#770 >> > >> > XYZ to CIE-L*a*b* (more complex): >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#825 >> > or >> > XYZ to Hunter-Lab (less complex): >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#806 >> > >> > And comparing the colors (more info at >> > http://en.wikipedia.org/wiki/Color_difference): >> > >> > deltaE 2000 (complex): >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#874 >> > or >> > deltaE 76 (simple): >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#857 >> > or >> > deltaE CMC: >> > >> > http://code.google.com/p/smart-lencioni-image-resizer/source/browse/trunk/slirimage.class.php?spec=svn59&r=46#967 >> > >> > For accuracy purposes, I would prefer to be able to use the more complex >> > equations. However, if they prove to be too slow, it would be nice to >> > fall >> > back on the simpler versions. >> > >> > So my question is this: does this kind of functionality make sense to >> > include in GD (I hope so)? If so, will you add it? I am unfamiliar with >> > C, >> > otherwise I would submit the code, but hopefully it won't be too much >> > work >> > to convert the PHP functions I have provided here. >> > >> > Thanks! >> > Joe >> > >> >> >> >> -- >> Pierre >> >> @pierrejoye | http://blog.thepimp.net | http://www.libgd.org > > -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org