java是一种简单的方法(工具?)以不同格式逐像素比较图像?
我现在已经用java编写了一个基本的无损jpeg joiner程序,但是我想把它生成的文件与原始文件进行比较
我只能在一个十六进制编辑器中比较这么多,有人知道一种简单的方法吗,软件还是基于java的(最好是软件,因为我现在不想再编码了!)我可以比较两幅图像,并生成一个像素不相同的“差异图”
谢谢
你可以在下面搜索框中键入要查询的问题!
我现在已经用java编写了一个基本的无损jpeg joiner程序,但是我想把它生成的文件与原始文件进行比较
我只能在一个十六进制编辑器中比较这么多,有人知道一种简单的方法吗,软件还是基于java的(最好是软件,因为我现在不想再编码了!)我可以比较两幅图像,并生成一个像素不相同的“差异图”
谢谢
# 1 楼答案
谢谢你的建议
我首先尝试了Gimp方法,除了图像之间的差异非常小外,这种方法效果很好。我找不到一个“增强差异”选项来让差异变得明显,直方图也只给出了差异的粗略表示
最后,我使用了ImageMagick一些我刚才安装的东西,但我完全忘记了。创建差异/比较图像与键入内容一样简单:
在命令行中
这一切都解释得很好here.
# 2 楼答案
你可以做比Perceptual Diff更糟糕的事
# 3 楼答案
最好的方法是使用Pix for windows(DirectX SDK附带)。支持位图、PNG和Jpeg。。。享受吧
# 4 楼答案
TortoiseDiff是一款免费的图像差异查看器:
http://tortoisesvn.tigris.org/TortoiseIDiff.html
它是Ortoisesvn的一部分,但可以在没有颠覆的情况下使用
# 5 楼答案
对于这样的东西,我喜欢^{} /^{} 工具包。可以使用
djpeg
和pnmtoplainpnm
将每个图像转换为简单的ASCII格式。然后,您只需读取这两个文件,并发出一个显示像素差异的新图像。例如,可以在RGB空间中计算新旧像素之间的欧几里德距离,并为零差发射一个白色像素,为小差发射浅灰色,为大差发射更暗的像素,等等。ASCII格式很简单,手册页上有很好的文档记录,所有标准查看器程序都可以直接查看它# 6 楼答案
使用Photoshop或Gimp之类的图像编辑器,它有多个图层。创建一个图像,其中每个源图像位于一个单独的层中
此时,您可以通过关闭和打开顶层的可见性来直观地比较图像
在大多数像样的编辑器中,您还可以将顶层设置为“差异”模式。现在,每个图像像素的值是基础图像中像素值的绝对差值。您可以使用直方图工具查看图像是否相同。如果它们是相同的,那么所有的像素值将恰好为0