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图片上传程序
Mar 27 PHP
比较详细PHP生成静态页面教程
Jan 10 PHP
PHP中获取文件扩展名的N种方法小结
Feb 27 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
mac环境中使用brew安装php5.5.15
Aug 18 PHP
php实现的Cookies操作类实例
Sep 24 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
PHP面向对象程序设计继承用法简单示例
Dec 28 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
深入PHP异步执行的详解
2013/06/03 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php树型类实例
2014/12/05 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
python笔记(2)
2012/10/24 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
SQL Server面试题
2013/04/04 面试题
中职生自我鉴定范文
2013/10/03 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
迟到检讨书400字
2014/01/13 职场文书
大学生党员自我批评
2014/02/14 职场文书
班长竞选演讲稿
2014/04/24 职场文书
外联部演讲稿
2014/05/24 职场文书
学校教师安全责任书
2014/07/23 职场文书
大专护理专业自荐信
2015/03/25 职场文书
MySQL约束超详解
2021/09/04 MySQL