如何查看重复的图像?C#



所以我所拥有的。

我有一个1个文件夹,带有大约30k图片(很久以前的旧备份)第二个文件夹用作当前备份。

所以我只想检查在第一个文件夹中是否得到了第二个文件夹中没有的图片。如果我在文件夹2中已经有图片1中的图片,以便将其从中删除文件夹1。

我以为我应该将文件夹1的磁盘上的大小与文件夹2中的所有图片进行比较。(循环2)

,但我看到我有2个不同的图片,具有确切的大小(磁盘上的尺寸)。所以我无法真正使用它。

有人知道我应该怎么做?(请记住,我在文件夹1中获得了大约30k的照片,因此该算法应该是有效的)ץ

在同一张图片中获得了不同的哈希。:

            using (var md5 = MD5.Create())
        {
            using (var stream = File.OpenRead("C:/Users/Sam/Desktop/1.jpg"))
            {
                Console.WriteLine(BitConverter.ToString(md5.ComputeHash(stream)));
            }
           using (var stream2 = File.OpenRead("C:/Users/Sam/Desktop/2.jpg"))
            {
                Console.WriteLine(BitConverter.ToString(md5.ComputeHash(stream2)));
            }
        }

嗨,我确实使用了此算法:比较C#

中的两个图像的算法

,但这太慢了。(大约需要2-3秒与100张图像进行比较,因此将永远比较所有图像(约30k))。

从每张图片中计算一个哈希,并使用哈希值比较文件夹

这是一些开源C#项目,可以进行图像比较。

https://github.com/xnafan/simple-image-compareison

https://github.com/ukushu/imgcomparator

相关内容

  • 没有找到相关文章

最新更新