ユーザーがアップロードした画像に基づいて画像のメインカラー値を取得し、その色に基づいて関連する画像を検索します。Imagick の quantizeImage メソッドを使用すると簡単に取得できます。画像内の平均RGB値
多くの写真サイトは、ユーザーがアップロードした写真に基づいて写真のメインカラー値を取得し、色別に関連する写真を検索します。
以前は、オンラインの方法に従って画像を拡大縮小(またはモザイク)し、各ピクセルを走査し、RGB 倍が最も多い値をカウントしていましたが、この方法は非効率すぎて、得られた RGB 値の精度が十分ではありませんでした。その後、Imagick の quantizeImage メソッドを使用すると、画像内の平均 RGB 値を簡単に取得できることがわかりました。
$average = new Imagick("xiaocai.jpg");
$average->quantizeImage( 10, Imagick::COLORSPACE_RGB, 0, false, false );
$average->uniqueImageColors();
関数 GetImagesColor(Imagick $im){
$colorarr = array();
$it = $im->getPixelIterator();
$it->resetIterator();
while( $row = $it->getNextIteratorRow() ){
foreach ( $row as $pixel ){
// www.jbxue.com
$colorarr[] = $pixel->getColor();
}
}
$colorarr を返します;
}
$colorarr = GetImagesColor($average);
foreach($colorarr as $val){
エコー「
」
";