
理论上肯定是可以的。不过这应该是一个很高深的东西。所以,我只能给你我很粗浅的方法:
一:写个函数,这个函数的主要功能是找出一张上的主要颜色(代码在最后面)
二:把一张有GD库分成9份(33)或更多份,然后用第一个函数来取得每一份小图的主要颜色。
三:比对这几份小图的颜色,看哪一份的颜色是你需要的。
如果你原意,你也可以切很多份,比如10000份(100100),然后计算这10000个颜色的中你需要的颜色的分布,找出你需要的区域。
$i=("imagejpg");
for($x=0;$x
for($y=0;$y
$rgb=($i,$x,$y);
$r=($rgb
$g=($rgb
$b=$rgb&0xFF;
$rTotal=$r;
$gTotal=$g;
$bTotal=$b;
$total;
}
}
$rAverage=round($rTotal/$total);
$gAverage=round($gTotal/$total);
$bAverage=round($bTotal/$total);
通过调整三基色改变YUV转换成RGB32。
yuv格式是一种色彩编码模式,其中Y表示亮度,也就是灰度值,UV分别表示色度和浓度。
yuv格式利用了人类眼睛的生理特性(人眼对亮度变化的敏感性高于对颜色变化的敏感性),允许降低色度的带宽,降低了传输带宽。
1、先打开要转换的;
2、在PS菜单栏的左上方有个图像——选择打开里面有个模式——可以CMYK 、RGB等颜色转换
你可以去后盾人平台看看,里面有很多专家录制的教学视频对你是很有帮助的
getimagesize()获取尺寸
imagesx()获取的宽度
imagesy()获取的高度
</br>
</br>
加载ImageMagick这个扩展
<php
$image=new Imagick("1jpg");
$array=$image->getImageResolution(); // 返回图像分辨率,X和Y轴信息
print_r($array);
>
将输出Array ( [x] => 300 [y] => 300 )
PHP调用?好的,如果是HTML的话很简单(只需要<img>标记插入即可),那么我回答一下PHP的载入吧,代码如下:
// 设置路径$path = '/tupian/1jpg';
// 获取信息
$imgInfo = getimagesize($path);
// 获取类型
$imgType = $imgInfo[2];
// 检测类型
switch ($imgType) {
case 1: // gif
// 采用gif方式载入
$img = imagecreatefromgif($path);
// 声明文件为类型
header('Content-Type:image/gif;');
// 采用gif方式输出
imagegif($img);
break;
case 2: // jpg
// 采用jpg方式载入
$img = imagecreatefromjpeg($path);
// 声明文件为类型
header('Content-Type:image/jpeg;');
// 采用jpeg方式输出
imagejpeg($img);
break;
case 3: // png
// 采用png方式载入
$img = imagecreatefrompng($path);
// 声明文件为类型
header('Content-Type:image/png;');
// 采用png方式输出
imagepng($img);
break;
default:
exit('格式不支持!');
}
// 销毁资源
imagedestroy($img);
// 删除变量
unset($img);
以上若还有什么不明白的,欢迎追问~
以上就是关于php有没有简单的方法识别两张图片是否相似/相同全部的内容,包括:php有没有简单的方法识别两张图片是否相似/相同、php将YUV转换成RGB32、php rgb图片颜色模式转换成cmyk等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)