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);
        }
Exemple #4
0
 public DetailPageViewModel(AnalyzedImage Image, MediaFile photo)
 {
     this.Image = Image;
     thumbnail  = ImageSource.FromStream(() => photo.GetStream());
 }