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 相关文章推荐
如何做到多笔资料的同步
Oct 09 PHP
php面向对象全攻略 (五) 封装性
Sep 30 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
Dec 07 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
检测codeigniter脚本消耗内存情况的方法
Mar 21 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
php图片添加文字水印实现代码
Mar 15 PHP
PHP学习笔记之php文件操作
Jun 03 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
php中yar框架实例用法讲解
Dec 27 PHP
PHP的imageTtfText()函数深入详解
Mar 03 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实现图片裁剪、添加水印效果代码
2014/10/01 PHP
PHP面向对象精要总结
2014/11/07 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
详解webpack模块化管理和打包工具
2018/04/21 Javascript
利用python批量修改word文件名的方法示例
2017/10/17 Python
python使用zip将list转为json的方法
2018/12/31 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
python实现顺时针打印矩阵
2019/03/02 Python
python实现超级玛丽游戏
2020/03/18 Python
Python排序函数的使用方法详解
2020/12/11 Python
Python 实现一个简单的web服务器
2021/01/03 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
优秀党务工作者事迹材料
2014/05/07 职场文书
社区班子对照检查材料
2014/08/27 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
企业员工辞职信范文
2015/05/12 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL