我想比较两个图像的相似性。因为我的目的是匹配一个给定的图像与大量的图像集合,我想在GPU上运行比较。
我遇到了tf.image.ssim
和tf.image.psnr
函数,但我无法找到和工作的例子,只有。PyTorch的解决方案也很感谢。因为我没有很好的了解CUDA和C语言,我犹豫着尝试在PyCuda内核。
如果我读取整个图像集合并将其存储为Tensorflow记录以供将来处理,这对处理是否有帮助?
任何指导或解决方案,非常感谢。谢谢。
编辑:-我只匹配相同大小的图像。我不想做单纯的直方图匹配。我想做SSIM或PSNR实现的图像相似性。所以,我假设它将是相似的颜色,内容等
2条答案
按热度按时间tsm1rwdh1#
请查看tensorflow 文档页面(link)上的示例:
这应该可以在最新版本的tensorflow上运行。如果你使用旧版本的tf.image.ssim将返回一个Tensor(print不会给予你一个值),但是你可以调用.run()来计算它。
h7appiyu2#
PyTorch中没有PSNR和SSIM的实现,你可以自己实现它们,也可以使用第三方软件包,比如我开发的
piqa
。假设您已经安装了
torch
和torchvision
,您可以使用然后进行图像比较