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中动态显示签名和ip原理
Mar 28 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 PHP
php使用递归计算文件夹大小
Dec 24 PHP
php动态生成版权所有信息的方法
Mar 24 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
php 浮点数比较方法详解
May 05 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 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
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
document.open() 与 document.write()的区别
2007/08/13 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python深入学习之装饰器
2014/08/31 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python标准库os库的函数介绍
2020/02/12 Python
Python中如何引入第三方模块
2020/05/27 Python
Python代码需要缩进吗
2020/07/01 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
秋冬农业生产标语
2014/10/09 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
2015年采购员工作总结
2015/04/27 职场文书
英语投诉信范文
2015/07/03 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python