private int GetLuminosityIndex(AnalyzedImage l) { int luminosity = 0; for (int i = 0; i < l.ColorDataWidth; i++) { for (int j = 0; j < l.ColorDataHeight; j++) { luminosity += (int)(l.ColorData[i, j].GetBrightness() * 1000); } } return(luminosity); }
private int GetSimilarityIndex(AnalyzedImage l, AnalyzedImage l2) { int similarity = 0; for (int i = 0; i < l.ColorDataWidth; i++) { for (int j = 0; j < l.ColorDataHeight; j++) { similarity += (int)(Math.Abs(l.ColorData[i, j].GetBrightness() - l2.ColorData[i, j].GetBrightness()) * 1000); similarity += (int)(Math.Abs(l.ColorData[i, j].GetSaturation() - l2.ColorData[i, j].GetSaturation()) * 1000); similarity += (int)(Math.Abs(l.ColorData[i, j].GetHue() - l2.ColorData[i, j].GetHue()) / 0.36f); } } return(similarity); }
private int GetSimilarityIndexRGB(AnalyzedImage l, AnalyzedImage l2) { int similarity = 0; for (int i = 0; i < l.ColorDataWidth; i++) { for (int j = 0; j < l.ColorDataHeight; j++) { similarity += (int)(Math.Abs(l.ColorData[i, j].R - l2.ColorData[i, j].R) * 1000); similarity += (int)(Math.Abs(l.ColorData[i, j].G - l2.ColorData[i, j].G) * 1000); similarity += (int)(Math.Abs(l.ColorData[i, j].B - l2.ColorData[i, j].B) / 0.36f); } } return(similarity); }
public DetailPageViewModel(AnalyzedImage Image, MediaFile photo) { this.Image = Image; thumbnail = ImageSource.FromStream(() => photo.GetStream()); }