Example #1
0
 /// <summary>
 ///     Loops through all the pixels and converts them to ycbcr
 /// </summary>
 public void SplitBytesIntoColorSpaces()
 {
     if (_imageIsSplit)
     {
         return;
     }
     for (int x = 0; x < LeftImageBitmap.Width; x++)
     {
         //var innerlist = new List<Ycbcr>();
         List <float> innerY  = new List <float>();
         List <float> innerCr = new List <float>();
         List <float> innerCb = new List <float>();
         for (int y = 0; y < LeftImageBitmap.Height; y++)
         {
             Rgb color = ToRgb(LeftImageBitmap.GetPixel(x, y));
             //innerlist.Add(RgbtoYCbCr(color));
             innerY.Add(RgbtoYCbCrWorking(color).Y);
             innerCr.Add(RgbtoYCbCrWorking(color).Cr);
             innerCb.Add(RgbtoYCbCrWorking(color).Cb);
         }
         //ChromeList.Add(innerlist);
         LumList.Add(innerY);
         CrList.Add(innerCb);
         CbList.Add(innerCr);
     }
     _imageIsSplit = true;
 }
Example #2
0
        /// <summary>
        ///     Puts data from ColorList array onto the LeftImageBitmap
        /// </summary>
        private void ColorListToLeftBitmap()
        {
            int i = 0;

            for (int x = 0; x < LeftImageBitmap.Width; x++)
            {
                for (int y = 0; y < LeftImageBitmap.Height; y++)
                {
                    if (i < ColorList.Count)
                    {
                        LeftImageBitmap.SetPixel(x, y, ColorList[i]);
                    }
                    i++;
                }
            }
        }