Retrieve the main color value of the image based on the uploaded image, and then search for the image based on the color, the quantizeImage method of Imagick can easily obtain the average RGB values of images. many Image sites retrieve the main color values of images based on the images uploaded by users, then, search for related images by color.
Previously, the image was scaled (or mosaic) according to the online method, then each pixel was traversed, and the value of RGB was the most frequently. this was too inefficient and the obtained RGB value was not accurate enough. Then we can find that the average RGB value in the image can be easily obtained using the quantizeImage method of Imagick.
$ Average = new Imagick ("xiaocai.jpg"); $ average-> quantizeImage (10, Imagick: COLORSPACE_RGB, 0, false, false); $ average-> uniqueImageColors (); function GetImagesColor (Imagick $ im) {$ colorarr = array (); $ it = $ im-> getPixelIterator (); $ it-> resetIterator (); while ($ row = $ it-> getNextIteratorRow () {foreach ($ row as $ pixel) {// www.jbxue.com $ colorarr [] = $ pixel-> getColor () ;}return $ colorarr ;}$ colorarr = GetImagesColor ($ average ); foreach ($ colorarr as $ val) {echo"";}