首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“图像不同”的Shell测试?

“图像不同”的Shell测试?
EN

Stack Overflow用户
提问于 2013-04-22 23:05:49
回答 3查看 3.6K关注 0票数 1

在shell脚本中,我想检查两个PNG图像是否不同,因为这两个图像的大小不同,或者一个图像的至少一个像素与另一个图像的相应像素具有不同的RGBA。

散列两个图像文件将不起作用,因为图像可能以不同的方式压缩,或者具有不同的注释,或者可能两个像素是完全透明的,但RGB分量不同,等等。

我知道如何使用ImageMagick的convert实用程序检查文件大小是否不同。至于比较像素值,我想使用ImageMagick的compare实用程序,但是如果命令成功处理,退出代码总是0:http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22451

可以使用什么命令行测试来比较两个PNG图像的像素是否相等?或者,也许有一种方法可以使用compare

EN

Stack Overflow用户

发布于 2018-11-17 09:02:33

您不应使用ImageMagick compare中的退出代码。也就是说,compare函数已成功退出,没有任何错误。您想要报告来自比较的AE度量,它将告诉您有多少像素不同。或者使用一些其他度量,如MAE或RMSE。

代码语言:javascript
复制
compare -metric AE image1 image2 null:

这将向终端返回一个值,即计数。

例如:

代码语言:javascript
复制
compare -metric AE lena.png lena.jpg null:
65100

65100像素是不同的

您可以将其返回给变量,如下所示:

代码语言:javascript
复制
var=`compare -metric AE lena.png lena.jpg null: 2>&1`
echo $var
65100

ImageMagick将其输出写入标准错误,这就是我添加2>&1的原因

看见

https://imagemagick.org/script/compare.php https://imagemagick.org/Usage/compare/

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16150434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档