php Imagick获取图片RGB颜色值


Posted in PHP onJuly 28, 2014

很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片。

之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数最多的值,这做法效率太低而且取到的RGB值不够精确。之后才发现使用Imagick的quantizeImage方法能够很方便的取到图片中平均的RGB值.

$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 ){
// 3water.com
$colorarr[] = $pixel->getColor();
}
}
return $colorarr;
}
$colorarr = GetImagesColor($average);
foreach($colorarr as $val){
echo "<div style='background-color: rgb({$val['r']},{$val['g']},{$val['b']});width:50px;height:50px;float:left;'></div>";
}
PHP 相关文章推荐
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 PHP
PHP exif扩展方法开启详解
Jul 28 #PHP
取得单条网站评论以数组形式进行输出
Jul 28 #PHP
PHP中unset,array_splice删除数组中元素的区别
Jul 28 #PHP
PHP常用数组函数介绍
Jul 28 #PHP
PHP调用C#开发的dll类库方法
Jul 28 #PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 #PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 #PHP
You might like
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
关于图片验证码设计的思考
2007/01/29 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
js Date概念详细介绍
2013/11/22 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
python中map、any、all函数用法分析
2015/04/21 Python
python插入排序算法实例分析
2015/07/03 Python
flask中过滤器的使用详解
2018/08/01 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
校本教研工作方案
2014/01/14 职场文书
幼儿园评语大全
2014/04/17 职场文书
2014年党员整改措施
2014/10/24 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis