我正在做一個運動檢測應用程序,作爲c#winform應用程序。2張圖片之間的運動/差異檢測
我使用openCV和emgu包裝來辨別運動(我想陷入)。
很多時候沒有動作變化,但我仍然需要在我的代碼中檢查它。
我給了md5一個去看看我是否可以使用它來快速檢測2張圖像是否有差異。我在99%的時間裏發現2張圖片的md5不匹配,因此告訴我這兩張圖片之間存在差異。我假設運動檢測md5對於這樣的任務不會太「敏感」嗎?
可以將Md5設置爲具有%差異閾值或/和是否有另一種方法來做到這一點?
感謝
到目前爲止的代碼:
private string getMd5Hash(byte[] buffer)
{
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(buffer);
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
public string GetMD5(byte[] buffer)
{
return getMd5Hash(buffer);
}
//調用代碼...
string img1= t.GetMD5(data);
string img2= t.GetMD5(data);
if (img1!= img2)
{
//differences
}
MD5是一個安全的散列算法,不是差分計算器。整個安全哈希的一點是,一個小的輸入差異會創建一個完全不同的哈希值。您正在使用錯誤類型的算法 –
您好,非常感謝您的時間。我想我知道在我的腦海中,我對它的速度印象深刻,我希望能有類似的運動檢測方法。 :) –