php 检查图片重复度,php – 检测图片的“整体平均”颜色
你可以使用PHP获得一个调色板数组,如下所示:
function colorPalette($imageFile, $numColors, $granularity = 5)
{
$granularity = max(1, abs((int)$granularity));
$colors = array();
$size = @getimagesize($imageFile);
if($size === false)
{
user_error("Unable to get image size data");
return false;
}
$img = @imagecreatefromjpeg($imageFile);
// Andres mentioned in the comments the above line only loads jpegs,
// and suggests that to load any file type you can use this:
// $img = @imagecreatefromstring(file_get_contents($imageFile));
if(!$img)
{
user_error("Unable to open image file");
return false;
}
for($x = 0; $x < $size[0]; $x += $granularity)
{
for($y = 0; $y < $size[1]; $y += $granularity)
{
$thisColor = imagecolorat($img, $x, $y);
$rgb = imagecolorsforindex($img, $thisColor);
$red = round(round(($rgb['red'] / 0x33)) * 0x33);
$green = round(round(($rgb['green'] / 0x33)) * 0x33);
$blue = round(round(($rgb['blue'] / 0x33)) * 0x33);
$thisRGB = sprintf('%02X%02X%02X', $red, $green, $blue);
if(array_key_exists($thisRGB, $colors))
{
$colors[$thisRGB]++;
}
else
{
$colors[$thisRGB] = 1;
}
}
}
arsort($colors);
return array_slice(array_keys($colors), 0, $numColors);
}
// sample usage:
$palette = colorPalette('rmnp8.jpg', 10, 4);
echo "
foreach($palette as $color)
{
echo "
#$color\n";
}
echo "
\n";
它给出一个数组,其值高于使用该颜色的频率。
编辑
评论者问如何使用这一目录中的所有文件,这里是:
if ($handle = opendir('./path/to/images')) {
while (false !== ($file = readdir($handle))) {
$palette = colorPalette($file, 10, 4);
echo "
foreach($palette as $color) {
echo "
#$color\n";
}
echo "
\n";
}
closedir($handle);
}
可能不想对太多的文件执行此操作,但它是您的服务器。
或者,如果你宁愿使用Javascript Lokesh’s Color-Theif库确实正在寻找什么。
php 检查图片重复度,php – 检测图片的“整体平均”颜色相关推荐
- 图片相似度识别算法公式,图片相似度检测算法
计算图像相似度的算法有哪些 SIM=StructuralSIMilarity(结构相似性),这是一种用来评测图像质量的一种方法. 由于人类视觉很容易从图像中抽取出结构信息,因此计算两幅图像结构信息的相 ...
- 【python 以图搜图】三种图片相似度计算融合算法
目标:在一个文件夹找出相似度较高的图片,达到以图搜图的目的. 我找了十组,都是高度相似的图片. 核心算法: 1.分别自定义三种计算图片相似度算法,计算图片相似度算法ORB算法,以及局部敏感哈希phas ...
- 一种基于颜色统计和特征指纹的图片相似度计算方法
一种基于颜色统计和特征指纹的图片相似度计算方法 1.摘要 图片相似度有很多实际应用,比如谷歌搜图.淘宝识物购买,现在很多类似应用已经使用神经网络训练实现,但是本文仅仅从图像处理角度出发,根据图像内容特 ...
- opencv 简单的图片相似度匹配
目录 一.基本知识 二.常见的图片相似度去重的方法 三.代码 1.Hash 算法 与 直方图 代码(参考 python OpenCV 图片相似度 Hash算法) (1) 参照代码 (2)自定义 pHa ...
- php 图片填充颜色代码,PHP获取图片颜色值,检测图片主要颜色的代码:
$i=imagecreatefromjpeg("photo3.jpg");//测试图片,自己定义一个,注意路径 for ($x=0;$x for ($y=0;$y $rgb = i ...
- linux图片相似度检测软件下载,移动端图像相似度算法选型
概述 电商场景中,卖家为获取流量,常常出现重复铺货现象,当用户发布上传图像或视频时,在客户端进行图像特征提取和指纹生成,再将其上传至云端指纹库对比后,找出相似图片,杜绝重复铺货造成的计算及存储资源浪费 ...
- python检测图片相同部分_用 Python 实现哈希算法检测重复图片
在 Python 中导入 hashlib 模块,调用函数就可以生成某一个字符串或者文件的哈希值.这个算法对于未被篡改的上传文件非常有效,如果输入数据有细微变化,加密哈希算法都会导致雪崩效应,从而造成新 ...
- 图片相似度识别算法,百度图片识别算法
图像识别算法都有哪些 图像识别算法:1人脸识别类(Eigenface,Fisherface算法特别多),人脸检测类(j-v算法,mtcnn)2车牌识别类,车型识别类(cnn)3字符识别(cnn)... ...
- 独家 | 利用孪生网络,Keras,Tensorflow比较图片相似度
作者:Adrian Rosebrock 翻译:张一然 校对:wwl 本文约3700字,建议阅读8分钟. 在本文中,您将学习如何使用孪生网络和深度学习库Keras / TensorFlow比较两个图像的 ...
最新文章
- mysql为什么要压测_mysql集群压测的详细介绍
- Wikioi 1020 孪生蜘蛛 Label:Floyd最短路
- 服务器信号分析,服务器及其讯号解析装置 Server and its signal analysis apparatus
- 方法的定义使用,方法重载及方法的递归调用
- Form组件,用ajax发送到后台需要的注意事项
- MVC中提交表单的4种方式
- WPF中的数据绑定Data Binding使用小结
- node获取服务器cpu信息,听说你不知道如何监控Node服务的内存?
- 高中生住校好还是走读好?为什么?
- Unity Shaders and Effects Cookbook (3-4) 使用高光贴图
- 问题:jquery中的change()事件,以及jquery中的prop()事件与attr()事件的区别
- 跨部门的bug的沟通
- java 网络编程 总结篇
- 线阵相机参数选择 照明方式
- ARMv8-A TrustZone概述
- 【无标题】学习浩辰CAD软件的心得
- php求一个矩阵中最大的二维矩阵,算法,_Torus 二维最大矩阵的高效算法求解,算法 - phpStudy...
- 求和 矩阵迹的性质_怎么证明矩阵特征值的和等于矩阵的迹_
- 学计算机必学日语哪个学校,高中生学日语,大学可以学电脑类的专业吗?
- 【3】WEB安全学习----HTTP协议
热门文章
- 又到了年终总结的时候了,数据分析的年度工作计划,你知道该怎么写吗?
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 新浪微博API OAuth 2 Python客户端
- vue @click 赋值_vue 手写一个时间选择器
- Hive SQL基础
- Redis 基数统计:HyperLogLog 小内存大用处
- Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.7--转
- mysql重连,连接丢失:The last packet successfully received from the server--转载
- 机器学习算法基础——数据降维
- BM惊爆:EOS一周年工作KPI