比较SQL Server中的映像



问题:我正在处理将幻灯片转换为图像的演示。现在,我必须检查在同一演示文稿或新上传演示文稿中的重复幻灯片图像。

我所做的:我用base64格式将图像保存在SQL Server数据库中,并将此图像与新上传的文件进行比较。

问题:当我在那个时间上传相同的演示文稿时,基本64工作正常,但如果我用相同的幻灯片检查不同的演示文稿,则不会得到相同的基本64字符串。我试过使用byte[],但还是遇到了同样的问题。

此外,我想知道在SQL中存储和检查图像的bast格式(base64、Byte[]等)是什么。

提前谢谢。

如果你想要精确的图像比较,只需要使用你喜欢的哈希算法创建哈希并进行比较。要么手动,要么让数据库自己做。

如果你想做近似的图像比较,你需要使用图像哈希。这样的算法在Open CV中可用,可以在c#中与emgu-CV包装器或其他几个平台一起使用。正如Panagiotis Kanavos所提到的,您可能需要自己进行哈希处理,或者在SQL server中使用python包。

图像通常存储为压缩图像文件的二进制斑点,但存储原始图像数据也是可能的。但我会考虑将图像直接存储在数据库中是否是最好的方法,在许多情况下,使用文件系统是首选。有关完整讨论,请参阅将图像存储在数据库中。

相关内容

最新更新