好吧,我现在已经在java中编写了一个基本的无损jpeg joiner东西,但我想将它生成的文件与原始文件进行比较.
我只能在十六进制编辑器中进行比较,有没有人知道一个简单的方法,软件或基于java(最好是软件,因为我现在不再需要编码了!)我可以比较两个图像并产生一个"差异图" "像素不一样的地方?
谢谢.
下面是python中使用PIL突出显示两个图像之间差异的当前工作代码.但其余的图像都是黑色的.
目前我想要显示背景以及突出显示的图像.
无论如何,我可以保持节目的背景更轻,只是突出差异.
from PIL import Image, ImageChops
point_table = ([0] + ([255] * 255))
def black_or_b(a, b):
diff = ImageChops.difference(a, b)
diff = diff.convert('L')
# diff = diff.point(point_table)
h,w=diff.size
new = diff.convert('RGB')
new.paste(b, mask=diff)
return new
a = Image.open('i1.png')
b = Image.open('i2.png')
c = black_or_b(a, b)
c.save('diff.png')
Run Code Online (Sandbox Code Playgroud)
!https://drive.google.com/file/d/0BylgVQ7RN4ZhTUtUU1hmc1FUVlE/view?usp=sharing
当您使用表单(而不是图像)时,使用这种技术很难看到变化。我想在更改的实际像素周围显示某种类型的黄色高光,可能会“更大”(填充)10-20 个像素。
所以而不仅仅是这个
更像这样的东西
似乎我只是在堆栈中遗漏了一些可以完成这项工作的东西。
convert '(' file1.png -flatten -grayscale Rec709Luminance ')' \
'(' file2.png -flatten -grayscale Rec709Luminance ')' \
... here ? ...
'(' -clone 0-1 -compose darken -composite ')' \
... or here ? ...
-channel RGB -combine diff.png
我也可以将它作为单独的命令运行,不需要很快,其中大部分将脱机运行。
我也尝试研究这里的技术(特别是缩略图缩放如何在像素扩展时为您提供我想要的效果)但是这段代码使用的是库而不是 ImageMagick 命令行工具。第 248 行 =>“使红色尽可能可见”
https://github.com/vslavik/diff-pdf/blob/master/diff-pdf.cpp#L218
一个示例表格是标准的 W-9。我做了两个细微的改变
2.向左移动了大约 2 个像素4.,将单词is向右移动2 个像素和比较泵出这个(你几乎看不到的红色变化)
感谢您的任何帮助