Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2012
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.74 KB | None | 0 0
  1. var files = Directory.EnumerateFiles(baseDir, "*.*", SearchOption.AllDirectories).ToArray();
  2.  
  3. const int numberOfBins = 16;
  4. const double normalFactor = 64;
  5.  
  6. var fingerprints = new List<ImageFingerPrint>();
  7.  
  8. foreach(var file in files)
  9. {
  10.     var img = new Image<Gray, byte>(file);
  11.  
  12.     var hist = new DenseHistogram(numberOfBins, new RangeF(0, byte.MaxValue));
  13.     hist.Calculate(new[] {img}, false, null);
  14.     hist.Normalize(normalFactor);
  15.     var data = hist.MatND.ManagedArray.Cast<float>().ToArray();
  16.  
  17.     var fingerprint = new byte[numberOfBins];
  18.     for(int i = 0; i < numberOfBins; ++i)
  19.     {
  20.     fingerprint[i] = (byte)Math.Round(data[i]);
  21.     }
  22.     fingerprints.Add(new ImageFingerPrint { FileName = file, FingerPrint = fingerprint });
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement