php 百分比用图形显示,PHP中图像中已更改的像素百分比

更新的答案

实际上,现在你明确地指出它,当唯一的区别是透明度时,ABSOLUTE_ERROR指标将不起作用.

要回答您的问题,您可能只想使用以下方法分离Alpha通道:

separateImageChannel(Imagick::CHANNEL_ALPHA);

然后得到它的统计平均值,它将告诉你像素的百分比是白色的 – 即透明的.

我将在下面留下原始答案,因为它是一种有用的技术,适用于任何其他图像差异,而不仅仅是透明度.

原始答案

您可以在比较后获取图像属性,并在其中找到名为“失真”的元素.所以,如果我从这张图片开始:

yBWck.png

然后向右滚动10个像素:

Gmhu4.png

$image1 = new Imagick("image.png");

$image2 = new Imagick("image.png");

$result = $image1->compareImages($image2,Imagick::METRIC_MEANABSOLUTEERROR);

$p1=$image1->getImageProperties();

print_r($p1);

$image1->rollImage(10,0);

$result = $image1->compareImages($image2,Imagick::METRIC_MEANABSOLUTEERROR);

$p1=$image1->getImageProperties();

print_r($p1);

?>

产量

Array

(

[date:create] => 2016-06-02T14:15:01+01:00

[date:modify] => 2016-06-02T14:15:01+01:00

[distortion] => 0

[png:bKGD] => chunk was found (see Background color, above)

[png:cHRM] => chunk was found (see Chromaticity, above)

[png:gAMA] => gamma=0.45454544 (See Gamma, above)

[png:IHDR.bit-depth-orig] => 4

[png:IHDR.bit_depth] => 4

[png:IHDR.color-type-orig] => 3

[png:IHDR.color_type] => 3 (Indexed)

[png:IHDR.interlace_method] => 0 (Not interlaced)

[png:IHDR.width,height] => 200, 200

[png:PLTE.number_colors] => 5

[png:sRGB] => intent=0 (Perceptual Intent)

[png:text] => 2 tEXt/zTXt/iTXt chunks were found

[png:tIME] => 2016-06-02T14:15:01Z

)

Array

(

[date:create] => 2016-06-02T14:15:01+01:00

[date:modify] => 2016-06-02T14:15:01+01:00

[distortion] => 0.0833333

[png:bKGD] => chunk was found (see Background color, above)

[png:cHRM] => chunk was found (see Chromaticity, above)

[png:gAMA] => gamma=0.45454544 (See Gamma, above)

[png:IHDR.bit-depth-orig] => 4

[png:IHDR.bit_depth] => 4

[png:IHDR.color-type-orig] => 3

[png:IHDR.color_type] => 3 (Indexed)

[png:IHDR.interlace_method] => 0 (Not interlaced)

[png:IHDR.width,height] => 200, 200

[png:PLTE.number_colors] => 5

[png:sRGB] => intent=0 (Perceptual Intent)

[png:text] => 2 tEXt/zTXt/iTXt chunks were found

[png:tIME] => 2016-06-02T14:15:01Z

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值