in reply to multi-dimensional range lookup
How many images are involved?
You can fully index the colors used in your images using 768 strings. The length of those strings will be one bit for every image. So, you can fully index 1,000,000 images using 96MB.
The data would be represented something like this:
$var = { red => [ 0 => b'0101011100010101111 ...', 1 => b'"1000111100010101100 ...', ... ], green => [ 0 => b'0101011100010101111 ...', ... ], blue => [ 0 => b'0101011100010101111 ...', ... ], };
To lookup all the images that contain red = 12, 13, 14, 15, and greenb = 78, 79, 80, 81 and blue = 23, 24, 25, 26, you simply bitwise-and (&) the appropriate 12 strings together, and then translate whatever bits are left set, back into the identities of the images. Very fast and very memory efficient also.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: multi-dimensional range lookup
by Joost (Canon) on May 08, 2007 at 21:23 UTC | |
by BrowserUk (Patriarch) on May 08, 2007 at 22:08 UTC | |
by Joost (Canon) on May 08, 2007 at 22:13 UTC |