GetPixel-метод - как мне получить значение R для RGB?

StackOverflow https://stackoverflow.com/questions/1739197

  •  20-09-2019
  •  | 
  •  

Вопрос

у меня есть изображение в оттенках серого, и я хочу отсканировать пиксели из Изображения, и это то, что я получаю :

  var i:int;
  var j:int;
  for (i = 0; i < img.contentWidth ; i++)
   {
     for(j = 0; j < img.contentHeight; j++){
        pixeldaten.addItem({x:i,y:j,pixel:bmd.getPixel(i,j)});

     }
   }

но таблица не похожа на значения RGB .(R , B и G должны быть одинаковыми)

: пример

Это было полезно?

Решение

GetPixel должен возвращать шестнадцатеричное значение пикселя, затем вы могли бы сделать что-то вроде

// получаем красное значение

bmd.getPixel(i,j) >> 16

Другие советы

//for Image processing
        Bitmap myBitmap = new Bitmap(CurrentBitmap);
        int imgH = myBitmap.Height;
        int imgW = myBitmap.Width;
        ARed = new double[imgH, imgW];
        AGreen = new double[imgH, imgW];
        ABlue = new double[imgH, imgW];
        doubles = new double[imgH, imgW];

        var max = new double[imgH, imgW];
        var min = new double[0, 0];

        //seperating each RGB components
        for (int x = 0; x < imgH; x++)
        {
            for (int y = 0; y < imgW; y++)
            {
                Color color = myBitmap.GetPixel(x, y);
                // things we do with pixelColor
                //ARed[x][y] = myBitmap.GetPixel >> 16;
                ARed[x, y] = color.R;
                ABlue[x, y] = color.B;
                AGreen[x, y] = color.G;
                max[x, y] = ARed[x, y];

            }
        }
Bitmap bmp = new Bitmap(pictureBox1.Image);
bmp.getPixel(i,j).R
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top