Detect main colors in an image with PHP

前端 未结 7 2153
走了就别回头了
走了就别回头了 2020-11-27 12:05

I am trying to replicate the functionality that Dribbble.com does with detecting the predominant colors in an Image. In the image below you can see a screenshot from Dribbb

7条回答
  •  攒了一身酷
    2020-11-27 12:18

    Try this: http://www.coolphptools.com/color_extract

    Works with JPEG and PNG.

    And best!: no hustle with composer, just require_once

    require_once 'colorextract/colors.inc.php';
    $ex=new GetMostCommonColors();
    $num_results=20;
    $reduce_brightness=1;
    $reduce_gradients=1;
    $delta=24;
    $colors=$ex->Get_Color( 'image.png', $num_results, $reduce_brightness, $reduce_gradients, $delta);
    print_r($colors);
    

    give you something like this:

    Array ( [3060a8] => 0.55827380952381 [f0a848] => 0.19791666666667 [000000] => 0.069642857142857 [483018] => 0.02047619047619 [786018] => 0.01827380952381 [183060] => 0.01797619047619 [4878a8] => 0.016011904761905 [181800] => 0.015119047619048 [a87830] => 0.014345238095238 [a8c0d8] => 0.011904761904762 [6090c0] => 0.01172619047619 [d89030] => 0.011011904761905 [90a8d8] => 0.0071428571428571 [ffffff] => 0.0070238095238095 [604830] => 0.006547619047619 [f0f0f0] => 0.0063095238095238 [d8d8f0] => 0.005297619047619 [c0d8d8] => 0.0044047619047619 [f0f0ff] => 0.00041666666666667 [181830] => 0.00011904761904762 )

    I tried it with different images and it seems reliable.

提交回复
热议问题