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 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
php 读取shell管道传输过来的内容
Mar 01 PHP
php关于array_multisort多维数组排序的使用说明
Jan 04 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 PHP
php curl模拟post请求和提交多维数组的示例代码
Nov 19 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
laravel请求参数校验方法
Oct 10 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 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中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP使用递归生成文章树
2015/04/21 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
npm的lock机制解析
2019/06/20 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
Python在图片中添加文字的两种方法
2017/04/29 Python
python difflib模块示例讲解
2017/09/13 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
python 实现目录复制的三种小结
2019/12/04 Python
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
工程采购员岗位职责
2014/03/09 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
李强优秀员工观后感
2015/06/16 职场文书
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js