2009-12-06 118 views
0

当用户使用相机拍摄新图像并保存其校验和时,当用户稍后从相机胶卷重新加载相同图像时,校验和不同。这可能是因为保存在相机胶卷中的图像是JPG格式,这是有损的,因此它的像素不同?我试图使用校验和来检测它是相同的图像:任何想法如何克服这种情况?我是否需要将它自己保存为JPG格式,然后将它读入内存中,以便我可以获取随后从相机中滚动的相同字节?如果我这样做,我还需要确保我保存与摄像机卷相同的JPG格式...用相机拍摄的新图像与从相机胶卷加载的相同图像不同?

谢谢! Patrick

回答

0

我不是iPhone专家,但我知道当保存JPEG时,有许多“质量”参数,如果图像编码为JPEG格式且参数略有不同,则像素值将会不同。

所以,除非你能找到一种方法,使用完全相同同一进程中相机胶卷,为JPEG自己的图像转换可靠地转换为JPEG图像是不会有太大的用处。

如果可以读取相机胶卷中图像的创建时间或类似的元数据,这可能是更好的方法。

+0

我想我可以检查由相机应用程序创建的JPG文件,并尝试确定它使用哪些参数 - 如果相机应用程序改变了它保存图像的方式,我可能会破坏该功能,但我可以忍受它。 另一个想法是:不用仅仅计算某些图像区域的平均值,我可以用我的方式为整个图像创建一个JPG,而不管相机应用程序用于创建其JPG文件的什么,以及比较MY JPG的校验和与我以前的JPG保存为相同的图像。应该工作正常,只会影响我的表现。 – patrickq 2009-12-06 13:22:05

0

将图像返回给您的API将返回来自相机的原始数据或将图像转换为库中的原始数据。

正如你猜测的那样,JPG过程是有损的,所以即使图像尺寸相同,原始数据也会有所不同。

在一些固定位置取平均值并将其用作校验和可能会更好,虽然这当然会产生误报,所以您需要小心如何执行此操作。

相关问题