gpt4 book ai didi

image - 匹配不同格式的两个图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:48:44 26 4
gpt4 key购买 nike

我正在从事一个软件项目,在该项目中,我必须将一组“输入”图像与另一组“源”图像进行比较,并找出它们之间是否存在匹配。不能以任何方式编辑/修改源图像;可以缩放/裁剪输入图像以找到匹配项。图像可以是任何尺寸的 BMP、JPEG、GIF、PNG、TIFF。

约束:我不允许使用任何外部库。 ImageMagick 是个异常(exception),可以使用。

我打算使用 Java/Python。该软件完全基于命令行。

我正在阅读 SO 和一些常见的图像比较算法。我打算采取两种方法。1. 我可以使用直方图/桶来找出正在比较的 2 个图像的 RGB 值。
2. 使用SIFT/SURF 寻找关键点描述符,求它们之间的欧几里德距离,并根据所得距离输出结果。

比较的 2 个图像可以采用不同的格式。一个直观的想法是,在分析/比较之前,必须将 2 张图像转换为通用格式。我推断图像应该转换为质量较差的图像,例如如果 2 个输入图像是 BMP 和 JPEG,则将 BMP 转换为 JPEG。这可以被认为是一个预处理步骤。

我的问题:是否需要将图像转换为通用格式?可以比较2张不同格式的图像吗?如果在比较之前必须对它们进行转换,那么我从较高质量(BMP)到较低质量(JPEG)进行比较的假设是否正确?如果有人可以建议一些图像转换算法,这也会有所帮助。

编辑
如果在源图像中找到了图案图像,则称找到了匹配项。例如,源图像由一个足球场和一名球员组成。如果图案图像包含的球员与源图像中的球员完全相同,则匹配。

最佳答案

不,不需要转换为磁盘上的通用格式,而且可能没有帮助。如果您从图像中提取特征描述符(例如 SIFT/SURF),那么原始图像在磁盘上的存储方式就不那么重要了。特征描述符应该对小的压缩工件是不变的。


还有一点……

假设您有一个 BMP,它是源数据集中对象 X 的图像。

然后,在您的输入/查询数据集中,您有另一个对象 X 的图像,但它已保存为 JPEG。

您不知道在生成这些图像的编码过程中如何引入了哪些噪声。存在光照差异、大气效应、镜头效应、传感器噪声、色调映射、色域映射。其中一些因图像而异,其他因相机而异。所有这些都是在图像保存到相机存储之前完成的。是的,也有 JPEG 压缩伪影,但假设 BMP 质量“更高”然后通过 JPEG 压缩降级将无济于事。也许 BMP 在保存为 BMP 之前甚至经过了 JPEG 压缩。

关于image - 匹配不同格式的两个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com