我有一张图片位于
C:\ImageOne.png
我在目录中有 20 张图片
C:\Images
如何将 ImageOne.png 与所有这些图像进行比较?
例子:
想象一下,我将一张 reCaptcha 图像保存为 C:\ImageOne.png
在位于 C:\Images 的文件夹中,我还有其他 reCaptcha 图像。
然后我需要一个可以在 C:\Images 中找到相同图像的代码
当前代码:
public static bool ImageCompareString(Bitmap firstImage, Bitmap secondImage)
{
MemoryStream ms = new MemoryStream();
firstImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
String firstBitmap = Convert.ToBase64String(ms.ToArray());
ms.Position = 0;
secondImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
String secondBitmap = Convert.ToBase64String(ms.ToArray());
if (firstBitmap.Equals(secondBitmap))
{
return true;
}
else
{
return false;
}
}
Bitmap img2 = new Bitmap(@"C:\ImageOne");
private void CheckCaptcha()
{
foreach (string s in Directory.GetFiles(@"C:\Images"))
{
Bitmap img1 = new Bitmap(s);
if (ImageCompareString(img1, img2) == true)
{
Logging("Identical");
}
else
{
Logging("Not Identical");
}
img1.Dispose();
}
}